On Mon, Dec 9, 2013 at 6:16 PM, Lukasz Stafiniak <lukstafi@gmail.com> wrote:
Hello,

I am at a loss as to the difference between ['a.] syntax and [type a.] syntax of introducing polymorphic recursion. I will provide some examples. (Bear with me, they are automatically generated.)
[...]
Now to a more complex example.

In the complex example, the problem is not the difference between ['a.] syntax and [type a.] syntax, but polymorphic recursion and GADTs in OCaml generally. What type annotations do I need to provide?