For the specific error at line 265 I think you should be using
ScopedTypeVariables and properly qualifying the type signature at the
function level with a forall.
The local annotation { ::(SubUnit a)=> } is presumably introducing
another type variable unrelated to 'a' in the function level type
signature.
Note, my suggestion is "by eye" - I haven't run the code, so it may
not work or there may be other errors.
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe