fac = FUN (x -> stack "fac" case eqInt x zero of { True -> one; False -> let { s = THUNK(subInt x one); rec = THUNK(fac s) } in multInt x rec }); main = THUNK (stack "main" fac seven)