redPrim env p a [ELit (LInt _ x), ELit (LInt _ y)]
  | p `notElem` [IntDiv,IntMod] || y /= 0   = redInt p x y
redPrim env p a [ELit (LInt _ x), ELit (LInt _ y)]
  | p `notElem` [IntDiv,IntMod] || y /= 0   = redInt p x y
redPrim env p a [ELit (LInt _ x), ELit (LInt _ y)]
  | p `notElem` [IntDiv,IntMod] || y /= 0   = redInt p x y