NUMEX Interpreter

Example Command:
(eval-exp (with "f1" (lam "f1" "a" (with "x" (var "a") (lam "f2" "z" (plus (var "x") (num 1)))))
(with "f3" (lam "f3" "f" (with "x" (num 1729) (apply (var "f") (munit))))
(apply (var "f3") (apply (var "f1") (num 1))))))
Output:
(num 2)