binrep-instances-0.1.0: src/Binrep/Instances/Strongweak/SWChain.hs
{-# OPTIONS_GHC -fno-warn-orphans #-}
{- | binrep instances for 'SWChain' where @Cls a => Cls ('SWChain' n a)@.
'SW' and 'SWChain' can help define binreppable data types plus an "easy to work
with" representation in one fell swoop. 'SWChain' is a meaningless newtype only
there to help strongweak do its work (without having to write instances
manually). So here, we define a bunch of recursive instances that use the inner
type.
-}
module Binrep.Instances.Strongweak.SWChain where
import Binrep
import Strongweak
import Data.Kind ( type Type )
deriving via (a :: Type) instance IsCBLen a => IsCBLen (SWChain n a)
deriving via (a :: Type) instance BLen a => BLen (SWChain n a)
deriving via (a :: Type) instance Put a => Put (SWChain n a)
deriving via (a :: Type) instance PutC a => PutC (SWChain n a)
deriving via (a :: Type) instance Get a => Get (SWChain n a)
deriving via (a :: Type) instance GetC a => GetC (SWChain n a)