>>= \t1-> typeExpr e2 >>= \t2-> pure $ TupleType (t1, t2)
typeExpr (Op2Expr p e1 op e2)
| isMember op [BiPlus, BiMinus, BiTimes, BiDivide, BiMod] =
>>= \t1-> typeExpr e2 >>= \t2-> pure $ TupleType (t1, t2)
typeExpr (Op2Expr p e1 op e2)
| isMember op [BiPlus, BiMinus, BiTimes, BiDivide, BiMod] =