[Haskell-cafe] ambiguous partially defined type problem