docs: def getall(self, key, type=None):
          """Return a list of values for the given key.
  
          If `type` is not None, all values will be converted by calling `type`
          with the value as argument. if type() raises `ValueError`, the value
          will not appear in the result list.
          """
          values = []
          for k, v in self._items:
              if k == key:
                  if type is not None:
                      try:
                          values.append(type(v))
                      except ValueError:
                          pass
                  else:
                      values.append(v)
          return values