Following snipped will throw a null pointer, the rest of the monads just return "monad fail"-ish.
[org.clojure/algo.monads "0.1.5"]
(use 'clojure.algo.monads)
((domonad state-m [x (m-result 1) 
                   :cond [(= x 2) 
                          [x (m-result 2)]]] 
                   x) {})
It should fail because no matching clause is specified 
but a null pointer gives no clue that cond is missing a clause.