make sure implicit-parameters are not allowed in let-generators of the mdo-notation too (just like those of the do-notation).
make sure implicit-parameters are not allowed in let-generators of
the mdo-notation too (just like those of the do-notation).

otherwise, we were getting the amusing error message:

   Control.Monad.Fix> mdo {let {?x = 2};print ?x}
   ERROR - Type error in application
   *** Expression     : ( $0
   *** Term           : (
   *** Type           : ()
   *** Does not match : a -> b

now we get:

   Control.Monad.Fix> mdo {let {?x = 2};print ?x}
   ERROR - Currently illegal to bind implicit parameters in the recursive do-notation

Jeff: I guess this also shows that just "not-checking" for the existence of implicit
parameters is not sufficient to have them supported everywhere.. (plain old "do"
also has similar problems.)

FranklinChen/Hugs,FranklinChen/Hugs,FranklinChen/Hugs,FranklinChen/Hugs,FranklinChen/Hugs,FranklinChen/Hugs,FranklinChen/Hugs