supertype(Rational) == Real, Rational is an immediate subtype of Real. Yet,
subtypes(Real) does not include Rational. Is it plausible that this will change generally?
This is an issue similar to https://github.com/JuliaLang/julia/issues/20086, which should probably be fixed.
In addition to logical affinity, imo this made right makes protocol refinement and subspecialization much easier.