Summary: Generic function that applies a (non-generic) function to every element in a value, splitting the element into two. The result is a pair of structurally equivalent values, one with the elements from the first component of the splitting function and the other with the elements from the second component.
See also Generics.EMGM.Functions.ZipWith.
The type of a generic function that takes an argument of one type and returns a pair of values with two different types.
|:: (Monad m, FRep3 (UnzipWith m) f)|
|=> (a -> m (b, c))|
|-> f a|
|-> m (f b, f c)|
Pair of containers.
Splits a container into two structurally equivalent containers by applying a function to every element, which splits it into two corresponding elements. Fails if the spliting function fails
A specialized version of
unzipWithM using the identity monad and a
splitting function that does not fail.