The thing that has stuck with me about monads is that operations which you can chain like
// Python
new_foo = foo.bar().baz()
Work as / can be defined as monads, if you get a Foo out of each of them. This at least gives me something practical to hang the concept on.