docs: def _parse_fields(parsed):
      """Parse form fields from HTML.
  
      :param BeautifulSoup parsed: Parsed HTML
      :return OrderedDict: Collection of field objects
  
      """
      # Note: Call this `out` to avoid name conflict with `fields` module
      out = []
  
      # Prepare field tags
      tags = parsed.find_all(_tag_ptn)
      for tag in tags:
          helpers.lowercase_attr_names(tag)
  
      while tags:
          tag = tags.pop(0)
          try:
              field = _parse_field(tag, tags)
          except exceptions.InvalidNameError:
              continue
          if field is not None:
              out.append(field)
  
      return out