sclass VarContext { MapSO vars; O get(S name) { ret mapGet(vars, name); } void set(S name, O value) { vars = mapPutOrCreate(vars, name); } }