code: def _gather(self, func):
          
          for ingredient, _ in self.traverse_ingredients():
              for name, item in func(ingredient):
                  if ingredient == self:
                      name = name[len(self.path) + 1:]
                  yield name, item
docs: Removes the experiment's path (prefix) from the names of the gathered
          items. This means that, for example, 'experiment.print_config' becomes
          'print_config'.