let leaky_map = fn f -> { let aux = fn (x << xs) -> (f x) << @(leaky_map f !@xs); aux }