```pascal procedure stuff(variable stuff, variable in_recursion := 0) begin if not(in_recursion) then stuff := stuff(stuff, 1); else begin display_msg("doing critical stuff"); stuff++; return stuff; end end procedure start begin call stuff(0); end ``` According to int2sll it compiles to ```pascal procedure stuff(variable arg0, variable arg1); procedure start; procedure stuff(variable arg0, variable arg1) begin if (not(arg1)) then begin arg0 := arg0(arg0, 1); // wait what... end else begin display_msg("doing critical stuff"); arg0 := arg0 + 1; return arg0; end end procedure start begin call stuff(0, 0); end ```