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