This really smells like a violation of the "monomorphism restriction"[1]. Try again with -fno-monomorphism-restriction, and if that fixes it, add a type signature to fix it for good. [1] http://haskell.org/onlinereport/decls.html#sect4.5.5 Stefan