I did try factorial and got some strange answers:
(def fact (n) (if (< n 2) 1 (* n (fact (- n 1))))) => (object function {sig, body, }) (fact 5) => 120 (fact 1000) => 0 (fact 10) => 3628800 (fact 21) => -4249290049419214848
fact.20 => 2432902008176640000
-----