use std impl disposable int = __dispose__ = {n std.put("Disposing of {}\n", n) } ;; impl disposable (-> void) = __dispose__ = {f; f()} ;; const f = {b var x = 1 auto x++ if b -> void ;; auto x++ } const g = {n auto (40 + 2) while n > 0 auto n-- if n <= 0 -> void ;; auto n-- ;; } const main = { auto { std.put("Tchuss!\n"); } f(true) std.put("-- \n") f(false) std.put("-- \n") g(2) std.put("-- \n") g(3) }