let lambda : ('a repr -> 'b repr) -> ('a -> 'b) repr = fun f ->
Lambda (fun x ->
let annot = f (x |> AF.with_provenance "variable" []) in
AF.get_file annot
) |> AF.with_provenance "lamda" []
~functional:(fun x -> f x |> AF.get_provenance)