{-# LANGUAGE NoImplicitPrelude #-} module Stack.Types.IsMutable ( IsMutable (..) ) where import Stack.Prelude data IsMutable = Mutable | Immutable deriving (IsMutable -> IsMutable -> Bool forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: IsMutable -> IsMutable -> Bool $c/= :: IsMutable -> IsMutable -> Bool == :: IsMutable -> IsMutable -> Bool $c== :: IsMutable -> IsMutable -> Bool Eq, Int -> IsMutable -> ShowS [IsMutable] -> ShowS IsMutable -> String forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [IsMutable] -> ShowS $cshowList :: [IsMutable] -> ShowS show :: IsMutable -> String $cshow :: IsMutable -> String showsPrec :: Int -> IsMutable -> ShowS $cshowsPrec :: Int -> IsMutable -> ShowS Show) instance Semigroup IsMutable where IsMutable Mutable <> :: IsMutable -> IsMutable -> IsMutable <> IsMutable _ = IsMutable Mutable IsMutable _ <> IsMutable Mutable = IsMutable Mutable IsMutable Immutable <> IsMutable Immutable = IsMutable Immutable instance Monoid IsMutable where mempty :: IsMutable mempty = IsMutable Immutable mappend :: IsMutable -> IsMutable -> IsMutable mappend = forall a. Semigroup a => a -> a -> a (<>)