'Pop the first item for a list on the dict.  Afterwards the
key is removed from the dict, so additional values are discarded:
>>> d = MultiDict({"foo": [1, 2, 3]})
>>> d.pop("foo")
1
>>> "foo" in d
False
:param key: the key to pop.
:param default: if provided the value to return if the key was
not in the dictionary.'

def pop(self, key, default=_missing):

    try:
        lst = dict.pop(self, key)
        if (len(lst) == 0):
            raise exceptions.BadRequestKeyError()
        return lst[0]
    except KeyError as e:
        if (default is not _missing):
            return default
        raise exceptions.BadRequestKeyError(str(e))
