Funny how object-oriented programming got so big, when the unsolved hierarchy of numerical types has been there from the beginning.
The idea that inheritance will solve conceptual problems when we can't define whether `unsigned int` is a parent or child of `int`. And don't even start on the special casing necessary for type promotions in numerical expressions.