What you're talking about with 5* being an operation and like a different kind of number, reminds me of lambda calculus and partial functions.
We see 5 * 75 as a binary operation with * as the operator. As a function, that's mul(5, 75). But then mul(5) by itself may be seen as a function that returns another function ready for one argument, which it will multiply by 5. by5 = mul 5 is sort of how that looks, such that by5 75 gives 375.
The idea that a partially filled in function is itself a function expecting the remainder of the arguments, is the idea of "currying". A partially fed function is still a function. This concept is embedded in the functional programming notations (languages), Haskell a flagship.
> let mul x y = x * y
> mul5 = mul 5 > mul5 75 375
is legal syntax, interactive use of the Haskell "calculator" (aka "chat window").
The first line defines what appears to be a function mul that expects two elements. These get multiplied for an answer.
The subsequent line "currys" mul by feeding it a first argument and giving a name to the result.
The result is likewise a function, expecting one argument, and in applying it to 75, we get back 375.
Other things you were saying reminded me of the N < Z < Q < R < C progression, which I think is fine to share right from the start.
N = Natural numbers, go ahead and say N + 0 = W if you want Whole Numbers as its own set Z = Integers which includes negatives reflected around 0 i.e. negative - positive number line (best to show from many angles, not always negative to the left (becomes misinformation / unconscious bias when repeated so consistently without reasoning)) Q = (p/q) such that p, q are members of Z i.e. Rational Numbers R = Reals which includes the idea of numbers being approached algorithmically e.g. pi, or continued randomly (with randomness algorithms) C = Complex Numbers with their special rules begetting rotation in the Argand Plane (Argand among others so it that way)
Since fractals provide such wonderful eye candy, I'm happy to start with C and the Mandelbrot set and work inwards some days, towards the more primitive N.
(didn't take much Python to get this in ASCII art -- I'm sure Haskell could do / has done the same)
The above list gives a sense of "number types" but is far from exhausting the list of "math objects" which include entities such as vectors, quaternions, whatever players in whatever language games. Polyhedrons, polynomials...