blob: 5e8ef6fe962cdc18bf38c787d5e237be05f345c0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
{-# LANGUAGE Haskell2010 #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE TypeOperators #-}
module T21010A ( WrapMono, Constrained(..), withMonoCoercible ) where
import T21010B ( WrapMono(..), withMonoCoercible )
import Data.Kind ( Type, Constraint )
class Constrained (f :: Type -> Type) where
type Dom f (a :: Type) :: Constraint
instance Constrained (WrapMono mono) where
type Dom (WrapMono mono) b = b ~ mono
|