:: Either a a -> a -package:from-sum

Pull the value out of an Either where both alternatives have the same type.
\x -> fromEither (Left x ) == x
\x -> fromEither (Right x) == x
Take an Either, and return the value inside it
Get the a from an Either a a
Collapses a Partial structure to a value (probably requiring unsafe instances).
Extract the value from either side of an Either.
The fromLeft' function extracts the element out of a Left and throws an error if its argument is Right. Much like fromJust, using this function in polished code is usually a bad idea.
\x -> fromLeft' (Left  x) == x
\x -> fromLeft' (Right x) == undefined
The fromRight' function extracts the element out of a Right and throws an error if its argument is Left. Much like fromJust, using this function in polished code is usually a bad idea.
\x -> fromRight' (Right x) == x
\x -> fromRight' (Left  x) == undefined
Extracts the element out of a Left and throws an error if its argument take the form Right _. Using Control.Lens:
fromLeft' x ≡ x^?!_Left
>>> fromLeft' (Left 12)
12
Take a Left to a value, crashes on a Right
Extracts the element out of a Left and throws an error if the argument is a Right.
The fromLeft function extracts the element out of a Left and throws an error if its argument take the form Right _.
fromLeft but with a better error message if it fails. Use this only where it shouldn't fail!
Extracts the element out of a Right and throws an error if its argument take the form Left _. Using Control.Lens:
fromRight' x ≡ x^?!_Right
>>> fromRight' (Right 12)
12
Take a Right to a value, crashes on a Left
Extracts the element out of a Right and throws an error if the argument is a Left.
The fromRight function extracts the element out of a Right and throws an error if its argument take the form Left _.
fromRight but with a better error message if it fails. Use this only where it shouldn't fail!
Pulls a Right value out of an Either value. If the Either value is Left, raises an exception with "error".
Given an Either, convert it to a Maybe, where Left becomes Nothing.
\x -> eitherToMaybe (Left x) == Nothing
\x -> eitherToMaybe (Right x) == Just x