method eval : stmt list -> 'a umethod eval_stmt : stmt -> 'a umethod eval_move : var -> exp -> 'a umethod eval_jmp : exp -> 'a umethod eval_while : cond:exp -> body:stmt list -> 'a umethod eval_if : cond:exp -> yes:stmt list -> no:stmt list -> 'a umethod eval_cpuexn : int -> 'a umethod eval_special : string -> 'a u