{-# LANGUAGE
    DataKinds
  , KindSignatures
  #-}

module Control.Concurrent.Chan.Scope where


data Scope = Read | Write | ReadWrite


class Readable (a :: Scope) where
instance Readable 'Read where
instance Readable 'ReadWrite where


class Writable (a :: Scope) where
instance Writable 'Write where
instance Writable 'ReadWrite where