code: def with_zero_or_more(cls, converter, pattern=None, listsep=","):
          
          cardinality = Cardinality.zero_or_more
          if not pattern:
              pattern  = getattr(converter, "pattern", cls.default_pattern)
          many0_pattern = cardinality.make_pattern(pattern, listsep)
          group_count = cardinality.compute_group_count(pattern)
  
          def convert_list0(text, m=None):
              if text:
                  text = text.strip()
              if not text:
                  return []
              return [converter(part.strip()) for part in text.split(listsep)]
          convert_list0.pattern = many0_pattern
          # OLD convert_list0.group_count = group_count
          convert_list0.regex_group_count = group_count
          return convert_list0
docs: Creates a type converter function for a list<T> with 0..N items
          by using the type converter for one item of T.
  
          :param converter: Type converter (function) for data type T.
          :param pattern:  Regexp pattern for an item (=converter.pattern).
          :param listsep:  Optional list separator between items (default: ',')
          :return: type-converter for list<T>