(defun factorial ((n : int)) : int
  (if (== n 0)
    1
    (* n (factorial (- n 1)))))

(defun main () : int
  (let ((result (factorial 5)))
    (begin
      (print-int result)
      0)))
