docs: def copy(self):
          """Create a copy of this ChemicalEntity
          
          """
          inst = super(type(self), type(self)).empty(**self.dimensions)
          
          # Need to copy all attributes, fields, relations
          inst.__attributes__ = {k: v.copy() for k, v in self.__attributes__.items()}
          inst.__fields__ = {k: v.copy() for k, v in self.__fields__.items()}
          inst.__relations__ = {k: v.copy() for k, v in self.__relations__.items()}
          inst.maps = {k: m.copy() for k, m in self.maps.items()}
          inst.dimensions = self.dimensions.copy()
          
          return inst