Add fail macro
Identity monad