code: def _add_dynamic_field_to_instance(self, field, field_name):
          
          # create the new field
          new_field = field._create_dynamic_version()
          new_field.name = field_name
          new_field._attach_to_instance(self)
  
          # add the field to the list to avoid doing all of this again
          if field_name not in self._fields:  # (maybe already in it via the class)
              if id(self._fields) == id(self.__class__._fields):
                  # unlink the list from the class
                  self._fields = list(self._fields)
              self._fields.append(field_name)
  
          # if the field is an hashable field, add it to the list to allow calling
          # hmget on these fields
          if isinstance(field, limpyd_fields.InstanceHashField):
              if id(self._instancehash_fields) == id(self.__class__._instancehash_fields):
                  # unlink the link from the class
                  self._instancehash_fields = list(self._instancehash_fields)
              self._instancehash_fields.append(field_name)
  
          # set it as an attribute on the instance, to be reachable
          setattr(self, field_name, new_field)
  
          return new_field
docs: Add a copy of the DynamicField "field" to the current instance using the
          "field_name" name