Hello, How to convert the following ocaml 3.12 code into a typable ocaml < 3.12 code? I have a solution using Obj. Is it possible without Obj? ===== (* val f: 'a -> 'a list *) let f (type u) (x:u) = let module S = Set.Make(struct type t = u let compare = Pervasives.compare let equal = ( = ) end) in S.elements (S.singleton x) ===== The contraints are: * do not change the type of f * use the functor Set.Make where type of keys are the same that type of x Thanks, Julien