This line of OCaml:
let c ~f = f() in let () = c (fun () -> ()) in ()
leads to the following error on the
c (fun () -> ()) expression:
File "tst.ml", line 1, characters 27-43: Error: This expression has type f:(unit -> (unit -> unit) -> 'a) -> 'a but an expression was expected of type unit
~, there is no error. How is the
~ messing things up?