Test factorial for the last testable number before stack overflow
Use Error.fail instead of failwith
Handle IR-reader's failures
Simplify pattern matching compilation