@Matthew I’ve arrived only at page 7 of Kiseliov’s notes. I’ll come back to the puzzle after finishing it.

The solution of my “puzzle” I suppose has to do with the second property of closure operators, because the second condition is just the join function over monads.

In a monad I can interpret the implementation of bind as join composed with fmap. What I can’t interpret is this “flat composed with fmap” in preorder terms.