docs: def _extract_optional_list_field(blob, name):
      '''Handle optional fields that can be either a string or a list of
      strings.'''
      value = _optional_list(typesafe_pop(blob, name, []))
      if value is None:
          raise ParserError(
              '"{}" field must be a string or a list.'.format(name))
      return value