Documentation

The TextualMonoid class is an extension of FactorialMonoid specialized for monoids that can contain
characters. Its methods are generally equivalent to their namesake functions from Data.List and Data.Text, and
they satisfy the following laws:

A TextualMonoid may contain non-character data insterspersed between its characters. Every class method that
returns a modified TextualMonoid instance generally preserves this non-character data. All of the following
expressions are identities: