(bind-func factorial
  (lambda (n:i64)
    (if (<= n 1)
        1
        (* n (factorial (- n 1))))))

(bind-func test_factorial
  (lambda ()
    (printf "factorial(5) = %lld\n" (factorial 5))
    (printf "factorial(10) = %lld\n" (factorial 10))
    void))