The more I think about it, the stranger the concept of having a number
type, which is a super-type of integers, rationals and reals seems to be. One thing that comes to mind is the Wittgenstein's concept of class families (where objects are grouped into families, even though neither one is a sub-type of the other, but have some "common property", not necessarily common to all objects in the family). Certainly, not a hierarchy.
And yet, in languages like Java, Common Lisp, Haskell and possibly lots of others there is a concept of a numerical super-type for types like integers, reals, complex etc.
Is there any computer-science-related explanation of existence of such super-type, or is this simply a convenience, which has no deeper meaning?