module Bio.Macro.Internal.Types
  ( MacroMolecule (..)
  , Chain (..)

  ) where

data MacroMolecule a r = MacroMolecule { mmName   :: !String
                                       , mmChains :: ![Chain a r]
                                       }
  deriving (Show, Eq)

data Chain t r = Chain { chainType     :: !t
                       , chainResidues :: ![r]
                       }
  deriving (Show, Eq)