Abstract Algebra for Scala.