better type checking for +/1 and */1