argo-0.2022.2.23: source/library/Argo/Type/Optional.hs
module Argo.Type.Optional where
newtype Optional a
= Optional (Maybe a)
deriving (Eq, Show)
fromMaybe :: Maybe a -> Optional a
fromMaybe = Optional
toMaybe :: Optional a -> Maybe a
toMaybe (Optional x) = x
nothing :: Optional a
nothing = fromMaybe Nothing
just :: a -> Optional a
just = fromMaybe . Just