Hello,
I'm noticed that GADT typechecking depends on whether free variables are annotated as locally abstract types (in form of "type a b c . <typeexpr>") or just polymoprhic annotations (in form of " 'a 'b 'c . <typeexpr> ").
Code here -
http://pastebin.com/36ZAjw0J What is the difference? I was thinking that both of this are equivalent, isn't it?
Thanks.