case Until0(until, body) => { val (testV, s1) = interp(until, env, store) testV match { //return doesn't matter what case NumV(0) => (NumV(5),s1) case NumV(n)=>{ val (bodyV, s2) =interp(body,env,s1) interp(Until0(until,body),env,s2) } case _ => sys.error("can only test numbers, but got: " + testV) ...