docs: def popone(self, key, *default):
          """Remove first of given key and return corresponding value.
          
          If key is not found, default is returned if given.
          
          >>> m = MutableMultiMap([('a', 1), ('b', 2), ('b', 3), ('c', 4)])
          >>> m.popone('b')
          2
          >>> m.items()
          [('a', 1), ('b', 3), ('c', 4)]
          >>> m.popone('b')
          3
          >>> m.popone('b')
          Traceback (most recent call last):
          ...
          KeyError: 'b'
          >>> m.popone('b', 'default')
          'default'
          
          """
          try:
              value = self[key]
          except KeyError:
              if default:
                  return default[0]
              raise
          
          # Delete this one.
          self._remove_pairs([self._key_ids[self._conform_key(key)].pop(0)])
          
          return value