This Haskell module exports the fromEitherM and fromMaybeM convenience
functions.
fromMaybeM :: m a -> Maybe a -> m a
fromEitherM :: (e -> m a) -> Either e a -> m afromEitherM leftAction eitherValue is the same as either leftAction pure eitherValue.
fromMaybeM nothingAction maybeValue is the same as maybe nothingAction pure maybeValue.
>>> import Control.FromSum (fromEitherM, fromMaybeM)
>>> fromMaybeM [] $ Just 5
[5]
>>> fromMaybeM [] Nothing
[]
>>> fromEitherM (\s -> [length s]) $ Right 5
[5]
>>> fromEitherM (\s -> [length s]) $ Left "foo"
[3]