/** * Get `Wiltable`'s `separateF` for an `Either` given an * `AssociativeIdentity`. * * @tsplus static Either.Ops getSeparateF */ export function getSeparateF(M: AssociativeIdentity): Wilt> { const separate = Either.$.separate(M) return HKT.instance( (G: Applicative) => ( f: (a: A) => HKT.Kind> ) => (either: Either) => { const traverseF = Either.forEachF(G) return G.map((e: Either>) => separate(e))(traverseF(f)(either)) } ) }