# val f : x:int -> int = # Characters 5-6: f ?x:0;; ^ Warning 43: the label x is not optional. - : int = 1 # val foo : (unit -> unit) -> unit = # val g : ?x:'a -> unit -> unit = # - : unit = () # Characters 19-38: foo (fun ?opt () -> ()) ;; (* fails *) ^^^^^^^^^^^^^^^^^^^ Error: This function should have type unit -> unit but its first argument is labelled ?opt #