Do you think that $\mathbb Z \subset \mathbb R$? On one hand this inclusion is quite handy. We like to write things like: $$ \sqrt{n} \quad \text{for $n\in \mathbb Z$} $$ which requires the number $n$ to be a real number (where $\sqrt\cdot$ is defined). On the other hand it is difficult to obtain such an inclusion when comes to definition. One would like to be able to define whole numbers without the need to define real numbers. This becomes more tricky when one notices that there are other inclusions which one would like to satisfy. For example I would like $1$ to be a polynomial with whole coefficients, or maybe a polynomial with complex coefficients, or maybe a real function of one variable...
I would say that it is not possible to satisfy all these inclusions. So maybe we must not insist on saying that $\mathbb Z \subset \mathbb R$ in the first place. Are there alternatives?
One possibility I see is that of having many different sets isomorphic to $\mathbb Z$. We should use the name $\mathbb Z$ for integers as we use $V$ for vector spaces. We should say: let $\mathbb Z$ be any set of integers. Or: let $\mathbb R$ be a set of reals and let$\mathbb Z$ be the set of real integers $\mathbb Z \subset \mathbb R$. And so on...
Another possibility I see (but I'm not sure if it can be really founded) is that of redefining the meaning of equality $=$ and distinguish between equality and identity. We could try to take an "object-oriented" approach where equality could be defined like any other operation. So one could define $1 = 1/1$ i.e. the integer $1$ is the same as the rational $1/1$ and one should define the sum of integers and rational by converting the integer to a rational and then performing the sum between rationals. This also modifies the concept of 'set' since the set $\{1, 1/1 \}$ is equal to $\{1/1\}$ and hence has a single element. This is, more or less, how types work in computer languages. Can this approach be made rigorous?