There are other things about it. It is safer than much code, like the official gcd code, which is naive and does not implement cross-reduction, which prevents overflow a lot. Without cross-reduction, the intermediate representation can easily explode. (Not C++ std lib, of course. The one on sc sourcecode)
The property-based tests large values and passes every single property of rational numbers (not arbitrarily big, but much better). Besides, its complete arithmetic implementation, it is a proper numeric type heavily tested.
My implementation of rational numbers is not a second-class citizen. Proved by testing, not by comments on the internet.
Constructive criticism is welcome, for me it always went far beyond constructive criticism, more like somebody whacked out my stuff, made with love, and reviewed by a scammer or a self-pimped up person. The reason? I don’t know. If I have the right to go to this level and say what I think, I don’t know either. I don’t know where those people come from. Maybe be a problem with my Double Nested Array, or something I said in another context. I don’t really care, does it make a difference?