emptyCGState :: CGState
emptyCGState = CGState
  { _sMemoryCounter   = 0
  , _sRegisterCounter = 0
  , _sInstructions    = []

  -- mapping

  , _sRegisterMap     = mempty
  , _sFunctionArgMap  = mempty
  , _sTagMap          = Bimap.empty

  , _sExternalMap     = mempty
  }
emptyCGState :: CGState
emptyCGState = CGState
  { _sMemoryCounter   = 0
  , _sRegisterCounter = 0
  , _sInstructions    = []

  -- mapping

  , _sRegisterMap     = mempty
  , _sFunctionArgMap  = mempty
  , _sTagMap          = Bimap.empty

  , _sExternalMap     = mempty
  }
emptyCGState = CGState
  { _sMemoryCounter   = 0
  , _sRegisterCounter = 0
  , _sInstructions    = []

  -- mapping

  , _sRegisterMap     = mempty
  , _sFunctionArgMap  = mempty
  , _sTagMap          = Bimap.empty

  , _sExternalMap     = mempty
  }