“The standard "foundation" for mathematics starts with sets and their elements. It is possible to start differently, by axiomatising not elements of sets but functions between sets. This can be done by using the language of categories and universal constructions.”
Saunders Mac Lane.
Λ02Ο. Algebraic specifications and their applications in computer science