Ah, it's our good old monomorphism restriction in action. And defaulting, though I'm not sure why the default gets to be () (see the report for more info). In any case it's not particularly related to uncurry.

You can turn it off with:

:set -XNoMonomorphismRestriction

I'm pretty sure there's also a command line option.

If you're not aware of the monomorphism restriction, check out the Haskell Wiki and Stackoverflow, there are multiple questions there related to that.