Clojure functions for doing abstract algebra.