Hello, I am blocked by this case not working (I reported on Mantis ... https://caml.inria.fr/mantis/view.php?id=7636) Any hint on how to make it works, apart fomr Obj.magic ? I can not change the types, they come from a functor. ==================================================== type ('a, 'b) elt = 'a type 'a iter = { f : 'b.('a, 'b) elt -> unit } let promote f : 'a -> unit = let f : 'b.('a, 'b) elt -> unit = fun x -> f x in { f } ==================================================== Cheers, Christophe