docs: def _parse(data: str) -> list:
          """
          Parses the given data string and returns
          a list of rule objects.
          """
          if isinstance(data, bytes):
              data = data.decode('utf-8')
          lines = (
              item for item in
              (item.strip() for item in data.split('\n'))
              if len(item) and not item.startswith('#')
          )
          rules = []
          for line in lines:
              rules.append(
                  Rule.parse(line)
              )
          return rules