Have you thought about looking at computer algebra? Axiom is a computer algebra system where the type system is modelled after Category Theory (or Universal Algebra, depending on your view). There are two further derivatives of Axiom FriCAS and OpenAxiom.
If you're interested in Category Theory, then the type system may be one thing to look at.
In Axiom, every "item" (e.g. "1", "5*x**2 + 1") is an element of a Domain. A "Domain" is an Axiom object declared to be a member of a particular Category (e.g. Integer, Polynomial(Integer). An Axiom Category is an Axiom object declared to be a member of the distinguished symbol "Category" (e.g. Ring, Polynomial(R,E,V)).
There is an inheritance lattice for the multiple-inheritance amongst Categories. e.g. The Category Monad inherits from SetCategory, Monoid from Monad, Group from Monoid, etc., etc.
There is also a higher-order polymorphism, a bit like Generics in Java.
Several actions within Axiom can be viewed as Functors, but that would be rather a lot to go into here!
If you just wish to use Axiom without worrying about Category Theory, as a typical end user, then a symbolic computation system is exactly the right piece of software for looking into individual algebras.