Change the implementation of exceptions: Use setjmp/longjmp instead of monads
Minor factorization