intercalate method
Return a Semigroup
which inserts middle
between each pair of elements.
final instance = Semigroup.instance<String>((a1, a2) => '$a1$a2');
final intercalate = instance.intercalate('-');
expect(intercalate.combine('a', 'b'), 'a-b');
expect(intercalate.combineN('a', 3), 'a-a-a');
Implementation
Semigroup<T> intercalate(T middle) =>
_Semigroup((x, y) => combine(x, combine(middle, y)));