Open an issue. Note that Symbolics is a typed symbolic system, so @variables p is @variables p::Real which is the “standard” type and can make these tricks. I forget the name, but it’s like @variables p::SafeReal has different rule sets, for example omitting a/a == 1, which is safe for the case of a=0. The default is what users generally want, but the safe mode gives people a way to opt in to a slightly slower system that will work for all edge cases, giving the best of both worlds.