Make 'fail' better behaved for pattern match failure.
Merge pull request #2 from evincarofautumn/fix-monad-fail

Make 'fail' better behaved for pattern match failure.