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