The question is in the title:



> 
> Is it possible to define the category of sets using the 'one hom-class' definition without relying on tuples as arrows or another 'typing trick'?
> 
> 
> 


I used to view the 'triples trick' (where we say that an arrow $f$ in a category is actually a triplet $(f,X,Y)$ consisting of the arrow paired with its intended domain/codomain) as an 'artificial typing', used to present 'naturally typed' categories using the one hom-class definition.


A recent [embarrasing question](https://mathoverflow.net/questions/418804/category-with-domain-codomain-relations) of mine, however, made it clear that we can't rely on entire relations in place of functions to specify domains/codomains in the 'one hom-class' definition of a category. This makes me unsure if it's even possible to give an 'untyped' definition of the category of sets, since saying 'the objects are sets and the arrows are functions' leaves us at a loss for how to select codomains using a function unless we 'artificially type' the arrows by viewing them as ordered pairs with the codomain prespecified.


Needless to say, if it isn't possible to define categories like ${\bf Set}$ without somehow 'typifying' the arrows, constructions like the 'triples trick' immediately seem less artificial and more like essential tools for defining categories in a 'one hom-class' fashion.



Is there a 'one hom-class' definition of the category of sets not relying on tuples for arrows?
It is certainly possible to define the class of functions as something else than ordered pairs: for example, we can define a function to be a set $Z$, whose individual elements must be ordered pairs $(a,b)$, and the first components of these pairs must be disjoint sets $a$. Then the union of all $a$ is the domain of function and the set of all $b$'s is the codomain. If $(a,b)∈Z$, the associated function sends all elements of $a$ to $b$.


