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