changes to Mul.is_* routines

fixes #7899 (see commit notes) and is an alternate (and would thus close #7909, too).
agreed to both