Can anyone tell me why the following doesn't work (and what I have to do to
fix it)? I thought by specifying the type of coalw as rank-2 would allow it
to be used both at a and (a,b).
This will never work. A function expecting a value of type forall c d. c -> [d] needs to be passed a function which can turn an arbitrary value of an arbitrary type into a list of values of every other, arbitrary type; the only such (total) function I can think of is const [].
The type checker is complaining because the value you pass it is a function which only accepts tuple inputs; it has to work for _all_ inputs of any type.
If you explain what you're trying to do here, maybe someone can suggest a solution.
Regards, Frank
_______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell