On Mon, Jan 26, 2015 at 4:54 PM, Bertram Felgenhauer <bertram.felgenhauer@googlemail.com> wrote:
Tom Murphy wrote:
> So it's the "(rigid, skolem)" error you sometimes happen across. The code
> that's causing it, though, is pretty unsuspicious:

Just two clues, pointing towards `b` being monomorphic as one
ontributing factor:

* adding {-# LANGUAGE NoMonoLocalBinds #-} works.
* giving `b` a standalone type signature makes it work, that is:
(...)
I'm not sure how enabling GADTs affects type-checking here.

See  https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/other-type-extensions.html#mono-local-binds

In particular:
"The flag -XMonoLocalBinds is implied by -XTypeFamilies and -XGADTs. You can switch it off again with -XNoMonoLocalBinds but type inference becomes less predicatable if you do so."

--
brandon s allbery kf8nh                               sine nomine associates
allbery.b@gmail.com                                  ballbery@sinenomine.net
unix, openafs, kerberos, infrastructure, xmonad        http://sinenomine.net