[Haskell-cafe] are Monads with slightly stricter types in instances still Monads?