Left +base

Left :: a -> Either a b
base Prelude, base Data.Either
left :: ArrowChoice a => a b c -> a (Either b d) (Either c d)
base Control.Arrow
leftApp :: ArrowApply a => a b c -> a (Either b d) (Either c d)
base Control.Arrow
Any instance of ArrowApply can be made into an instance of ArrowChoice by defining left = leftApp.
lefts :: [Either a b] -> [a]
base Data.Either
Extracts from a list of Either all the Left elements All the Left elements are extracted in order.