Ah one clarification, GADTSyntax alone does not enable existential types. You need to enable either ExistentialQuantification or full GADTs.

It makes more than perfect sense, but I wasn't aware of this. A consequence of always enabling -XGADTs, I suppose :-) .