org.specs2.internal.scalaz.std
A semigroup in type F must satisfy two laws:
The binary operation to combine f1 and f2.
f1
f2
Implementations should not evaluate tbe by-name parameter f2 if result can be determined by f1.