I wonder if we should use an `allclose` or maybe just `is_effectively_unity((p%1.0)+1.0)` here.  I think it would capture most cases like those of @Igarrison, where one does a complicated operation with, say, some powers of 3 or 5, and then ends with `(...)**0.2`, which gets everything back to integer powers.