This is the kind of explanation that drives me absolutely batshit crazy because it is fundamentally at odds with:
> Do you understand "flatmap"? Good, that's literally all a monad is: a flatmappable.
So, I think I understand flatmap, assuming that this is what you mean:
https://www.w3schools.com/Jsref/jsref_array_flatmap.asp
But this has absolutely nothing to do with "certain things are supposed to happen after other things", and CANNOT POSSIBLY have anything to do with that. Flatmap is a purely functional concept, and in the context of things that are purely functional, nothing ever actually happens. That's the whole point of "functional" as a concept. It cleanly separates the result of a computation from the process used to produce that result.
So one of your "simple" explanations must be wrong.