Generally `fold` should have the same semantics as...
# arrow
s
Generally
fold
should have the same semantics as
when
unless when used in abstractions like
Foldable
which generalizes this pattern.