{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FunctionalDependencies #-}
{-# LANGUAGE KindSignatures #-}
module Grisette.Internal.Unified.Class.UnionViewMode (UnionViewMode) where
import Control.Monad.Identity (Identity)
import Data.Kind (Type)
import Grisette.Internal.Internal.Decl.Core.Control.Monad.Union (Union)
import Grisette.Internal.Unified.EvalModeTag (EvalModeTag (C, S))
class UnionViewMode (mode :: EvalModeTag) (u :: Type -> Type) | u -> mode
instance UnionViewMode 'C Identity
instance UnionViewMode 'S Union