+1 AMP Would GHC report a warning for every definition of the return method, in anticipation of the time when it becomes synonymous with pure? Backward compatibility aside, does anybody actually want to preserve return as a method of the Monad class? The only use case I can think of is having return fail for some arguments.