docs: def creators_grouped_by_role(self):
          """
          :return: A generator yielding 2-tuples of (role, [creators]) where
          adjacent creators who share the same role are grouped together.
          """
          role = -1
          creators = []
          for wc in self:
              if wc.role != role:
                  if creators:
                      yield (role, creators)
                  role = wc.role
                  creators = []
              creators.append(wc.creator)
  
          if creators:
              yield (role, creators)