I'm not sure how useful monads are in any context where a language doesn't provide syntactical sugar for the usage
The practical benefits of a monad are not distinguishable from this
chaining from the point of view of someone using a library (unless you exposed the bind/return function to the user)
It can allow some elegant code reuse for implementers I suppose
But it's such a complicated concept for something that it is ultimately a tertiary tenet of functional programming
On the other hand I do like them because they are Cool and Interesting