Loon: A functional lang with invisible types, safe ownership, and alg. effects