A purely left-biased semigroup.
Make an associative binary function into an instance.
point(a) append (point(f(a)) append (point(f(f(a)))...
A purely right-biased semigroup.
A semigroup for sequencing Apply effects.
point(a) append (point(a) append (point(a)...
Semigroup is an invariant functor.