Partition a data structure based on an Either predicate.
Separated<KT, Z, Y> partitionMap<Z, Y>(Either<Z, Y> Function(A a) f);