Module Algebra

module Algebra: sig .. end
Algebraic structures.

module Monoid: sig .. end
A monoid is a type with an id and an associative binary operation.