Paul Rubin <no.e...@nospam.invalid> writes:
> import Control.Monad (mplus)
>
> fna `mplus` fnb `mplus` fnc `mplus` Just defaultval
>
> should also work.
Actually I think the following is better still in terms of naturalness:
import Data.Maybe (fromMaybe)
import Control.Monad (mplus)
fromMaybe defaultval $ fna `mplus` fnb `mplus` fnc
alternatively:
import Data.Maybe (fromMaybe)
import Control.Monad (msum)
fromMaybe defaultval $ msum [fna, fnb, fnc]