The return/pure distinction is due to history, I believe. The Monad typeclass was defined before the Applicative typeclass.
Part of the fun of being a research language is that you don't know everything up-front!
Part of the fun of being a research language is that you don't know everything up-front!
We made Applicative a superclass of Monad around 2015, and since then return has been a historical artifact (with a dangerously misleading name).