code: def add(self, model, **kwargs):
          # type: (Part, **Any) -> Part
          
          if self.category != Category.INSTANCE:
              raise APIError("Part should be of category INSTANCE")
  
          return self._client.create_part(self, model, **kwargs)
docs: Add a new child instance, based on a model, to this part.
  
          This can only act on instances. It needs a model from which to create the child instance.
  
          In order to prevent the backend from updating the frontend you may add `suppress_kevents=True` as
          additional keyword=value argument to this method. This will improve performance of the backend
          against a trade-off that someone looking at the frontend won't notice any changes unless the page
          is refreshed.
  
          :type kwargs: dict or None
          :type model: :class:`Part`
          :param kwargs: (optional) additional keyword=value arguments
          :type kwargs: dict
          :return: :class:`Part` with category `INSTANCE`.
          :raises APIError: if unable to add the new child instance
  
          Example
          -------
  
          >>> bike = project.part('Bike')
          >>> wheel_model = project.model('Wheel')
          >>> bike.add(wheel_model)