Callbacks are one particular monad, not monads in general: https://jsdw.me/posts/haskell-cont-monad/
> Programming with monads strongly reminiscent of continuation—passing style (CPS), and this paper explores the relationship between the two. In a sense they are equivalent: CPS arises as a special case of a monad, and any monad may be embedded in CPS by changing the answer type.