type z type _ s Don't use this kind of abstract type definition. Use instead (and export) concrete definitions (even if you don't use their constructors for anything) type 'a s = S of 'a (or just type 'a s = S) They have "better" injectivity properties. We've mentioned in on the mailing-list a couple of time, and it's also the "easy take-away lesson" from Jacques Garrigue talk at the OCaml workshop in September. On Thu, Dec 19, 2013 at 11:35 PM, Lukasz Stafiniak wrote: > On Thu, Dec 19, 2013 at 11:27 PM, Milan Stanojević wrote: > >> What version of ocaml are you using? It works for me on 4.00.1 >> >> OCaml 4.01.0 from OPAM. > > On Thu, Dec 19, 2013 at 5:21 PM, Lukasz Stafiniak >> wrote: >> > On Thu, Dec 19, 2013 at 11:20 PM, Lukasz Stafiniak >> > wrote: >> >> >> >> Sorry! I've spotted it reading the email. (I should read before >> sending.) >> >> >> > No, that's not it. My question is still open. >> > >