>>306
A small note about your representation of 3 as a set: It's not incorrect, since in fact you can give it any representation you want in a number system, but it's not the same representation as the one you gave for pi.
The number 3 as an integer is actually different than 3 as a real number, but there is a natural embedding of Z into R which maps n to the sequence (n, n, n, ...), which as you say it, is the set of ordered pairs {(1, n), (2, n), (3, n), ...}.
Another small detail is that this representation is not unique, so you can fix this by defining the real number x to be the set of all Cauchy sequences converging to x. In algebra, this would be the coset denoted x + N, where N is the set of all Cauchy sequences converging to 0, with addition being element-wise addition and multiplication of the Cauchy sequences. In this sense, the union of x + N and y + N is sorta like a residue class, and although it doesn't represent a real number, I'm sure there are some pretty cool uses of it.
To answer OP's question, I'm not well-versed in category or type theory, but I think functions are a MUCH more natural first-class citizen for a more practical foundation of mathematical logic than sets. Functions have just as little structure as sets do, and they arise from nature more easily I think. This is where type theory shines, where you can disprove the existence of an object by considering the set S of all such objects and proving the existence of a function S -> {}. If S maps into the empty set, then of course S is empty, and your mathematical object doesn't exist. But whether type theory actually makes logic easier is something I'm unsure of.