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 <lukstafi@gmail.com> wrote:
On Thu, Dec 19, 2013 at 11:27 PM, Milan Stanojević <milanst@gmail.com> 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 <lukstafi@gmail.com> wrote:
> On Thu, Dec 19, 2013 at 11:20 PM, Lukasz Stafiniak <lukstafi@gmail.com>
> wrote:
>>
>> Sorry! I've spotted it reading the email. (I should read before sending.)
>>
> No, that's not it. My question is still open.