intercalate method

A intercalate(
  1. Monoid<A> mi,
  2. A a
)

Implementation

A intercalate(Monoid<A> mi, A a) => foldRight(none<A>(), (A ca, Option<A> oa) => some(mi.append(ca, oa.fold(mi.zero, mi.appendC(a))))) | mi.zero();