> the monad laws are too hard to read.
FWIW the monad laws are not hard to *read* if written in this form
return >=> f = f
f >=> return = f
(f >=> g) >=> h = f >=> (g >=> h)
(Whether they're easy to *understand* in that form is another matter.)