(defn work [n i32] i32 (defer (print-line "second")) (defer (print-line "first")) ; innermost-first at exit (when (< n 0) (return 0)) ; runs both defers above it (print-line "body") n) (defn main [] (print-i64 (i64 (work 3))) (newline))