implementation module cleanc puti :: !Int !*State -> *State puti i s = code inline { ccall puti "I:V:I" } call :: !String !*State -> *State call f s = code inline { ccall call "S:V:I" } geti :: !*State -> (!Int, !*State) geti s = code inline { ccall geti ":I:I" }