-typeExpr (Op2Expr p e1 BiPlus e2) = undef
-typeExpr (Op2Expr p e1 BiMinus e2) = undef
-typeExpr (Op2Expr p e1 BiTimes e2) = undef
-typeExpr (Op2Expr p e1 BiDivide e2) = undef
-typeExpr (Op2Expr p e1 BiMod e2) = undef
+typeExpr (Op2Expr p e1 BiPlus e2) = unify IntType e1 >>| unify IntType e2
+typeExpr (Op2Expr p e1 BiMinus e2) = unify IntType e1 >>| unify IntType e2
+typeExpr (Op2Expr p e1 BiTimes e2) = unify IntType e1 >>| unify IntType e2
+typeExpr (Op2Expr p e1 BiDivide e2) = unify IntType e1 >>| unify IntType e2
+typeExpr (Op2Expr p e1 BiMod e2) = unify IntType e1 >>| unify IntType e2