Compiler crashes with "Run time error, rule 'matchListsOfATypes' in module 'overloading' does not match"
This happens with the following program:
import StdEnv, Data.Maybe, Control.Monad
f :: Maybe (Maybe a)
f = return Nothing >>= return
Start = ()
This equivalent definition does compile:
import StdEnv, Data.Maybe, Control.Monad
f :: Maybe (Maybe a)
f = return Nothing >>= \x -> return x
Start = ()