Objects <> Java and functions <> Haskell might be a better comparison.
Not to mention that there's already a person's intuition about what an "object" might be before they even learn programming. But there's no real-world analog to what a Monad is. So, yes, you do get into the situation where a programmer will say, "what? I didn't sign up for this" when being told to learn Monads to use Haskell.
Also, just because java objects are called “objects” and not some other word with less colloquial meaning doesn’t mean that they actually map well to real-world objects. Fully understanding the true semantics of Java objects is at least 100x as complicated as fully understanding the true semantics of monads. The only thing it’s easier to do with Java objects is to delude yourself into thinking you might understand them, because they have a familiar name.
map is also quite natural, but isn't it telling that the way a human will do this on paper is by reptition of the same task in sequence... i.e. a for loop.
> The only thing it’s easier to do with Java objects is to delude yourself into thinking you might understand them, because they have a familiar name.
i'm not sure why you consider this 'delusion'? that familiarity of name and concept is precisely why its so easy to learn.
Would they?
objects and classes are a fundamental concepts people are familiar with from real-life experiences. 'teaching' them is barely necessary at all, its more a case of assigning labels and some specificity to already familiar concepts.
monads are not like this at all. they are not a basic concept. they are not involved in day-to-day life from a very early age.
The idea that actions one can perform on real-world items are actually embedded in those items themselves (as opposed to being imposed on them from the external world) is neither universally accepted ontology nor required understanding for day-to-day interaction with them.