{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE NoImplicitPrelude #-} module Data.Mergeable.Internal.NameCollision ( NameCollision (..), ) where import Data.Mergeable.Internal.Resolution (Indexed (..)) import Relude class NameCollision e a where nameCollision :: a -> e instance NameCollision e a => NameCollision e (Indexed k a) where nameCollision :: Indexed k a -> e nameCollision = forall e a. NameCollision e a => a -> e nameCollision forall b c a. (b -> c) -> (a -> b) -> a -> c . forall k a. Indexed k a -> a indexedValue