salign

fun <A> Iterable<A>.salign(SG: Semigroup<A>, other: Iterable<A>): Iterable<A>
fun <A> Sequence<A>.salign(SG: Semigroup<A>, other: Sequence<A>): Sequence<A>

aligns two structures and combine them with the given Semigroup.combine


fun <A> Option<A>.salign(SA: Semigroup<A>, b: Option<A>): Option<A>


fun <K, A> Map<K, A>.salign(SG: Semigroup<A>, other: Map<K, A>): Map<K, A>

aligns two structures and combine them with the given Semigroups '+'