{-# 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