module Argo.Internal.Type.Optional where newtype Optional a = Optional (Maybe a) deriving (Optional a -> Optional a -> Bool forall a. Eq a => Optional a -> Optional a -> Bool forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: Optional a -> Optional a -> Bool $c/= :: forall a. Eq a => Optional a -> Optional a -> Bool == :: Optional a -> Optional a -> Bool $c== :: forall a. Eq a => Optional a -> Optional a -> Bool Eq, Int -> Optional a -> ShowS forall a. Show a => Int -> Optional a -> ShowS forall a. Show a => [Optional a] -> ShowS forall a. Show a => Optional a -> String forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [Optional a] -> ShowS $cshowList :: forall a. Show a => [Optional a] -> ShowS show :: Optional a -> String $cshow :: forall a. Show a => Optional a -> String showsPrec :: Int -> Optional a -> ShowS $cshowsPrec :: forall a. Show a => Int -> Optional a -> ShowS Show) fromMaybe :: Maybe a -> Optional a fromMaybe :: forall a. Maybe a -> Optional a fromMaybe = forall a. Maybe a -> Optional a Optional toMaybe :: Optional a -> Maybe a toMaybe :: forall a. Optional a -> Maybe a toMaybe (Optional Maybe a x) = Maybe a x nothing :: Optional a nothing :: forall a. Optional a nothing = forall a. Maybe a -> Optional a fromMaybe forall a. Maybe a Nothing just :: a -> Optional a just :: forall a. a -> Optional a just = forall a. Maybe a -> Optional a fromMaybe forall b c a. (b -> c) -> (a -> b) -> a -> c . forall a. a -> Maybe a Just