intercalate method

Semigroup<T> intercalate(
  1. T middle
)

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)));