Band instances must satisfy SemigroupLaw and 1 additional law:
A semigroup in type F must satisfy two laws:
The binary operation to combine f1
and f2
.
The binary operation to combine f1
and f2
.
Implementations should not evaluate the by-name parameter f2
if result
can be determined by f1
.
An Apply, that implements ap
with append
.
Every Semigroup
gives rise to a Compose, for which
the type parameters are phantoms.
The default definition exploits idempotency to optimise to O(1)
Semigroup which is also idempotent, i.e. appending a value with itself results in the same value.
BandLaw