So, in short the Monad is a concept of value wrapper.
The value wrapper (monad) has a function which accepts the function as an argument and applies it on wrapped value (or each element of wrapped value if it is a list, depends on particular monad implementation and usage).
If it doesn’t have a “valid” value it should not crash but return some sort of valid result like nil
/ :error
or empty list.