Couvre les opérations et les relations d'équivalence en théorie des nombres, y compris l'addition, la soustraction, la multiplication, la division et les propriétés des éléments neutres et inverses.
Couvre les concepts d'algèbre abstraite en utilisant des classes de type dans Scala, y compris la définition des monoïdes, la généralisation des fonctions de réduction et les lois de classe de type.