<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def all_label_values(self, label_list_ids=None):
 """ Return a set of all label-values occurring in this utterance. Args: label_list_ids (list):
 If not None, only label-values from label-lists with an id contained in this list are considered. Returns: :class:`set`: A set of distinct label-values. """

        values = set()

        for label_list in self.label_lists.values():
            if label_list_ids is None or label_list.idx in label_list_ids:
                values = values.union(label_list.label_values())

        return values