| A.OpExp (A.EQ, [a, b]) =>
(case (typeof (tds, funcs) vars mark a, typeof (tds, funcs) vars mark b)
of (T.Int, T.Int) => T.Int (* You shall pass! *)
| A.OpExp (A.EQ, [a, b]) =>
(case (typeof (tds, funcs) vars mark a, typeof (tds, funcs) vars mark b)
of (T.Int, T.Int) => T.Int (* You shall pass! *)