Hi all, is this behaviour of the type checker expected ? Objective Caml version 3.11.0 # let f g x y = g ~x ~y;; val f : (x:'a -> y:'b -> 'c) -> 'a -> 'b -> 'c = # let g ~y ~x = x + y;; val g : y:int -> x:int -> int = # f g;; Error: This expression has type y:int -> x:int -> int but is here used with type x:'a -> y:'b -> 'c If so, I'm tempted to fill a report to mantis anyway, to get this said in the manual (i've not seen anything for this case, but i might have missed something). Philippe.