'Returns a dictionary where the values are either single
values, or a list of values when a key/value appears more than
once in this dictionary.  This is similar to the kind of
dictionary often used to represent the variables in a web
request.'

def mixed(self):

    unicode_mixed = {}
    for (key, value) in six.iteritems(self.multi.mixed()):
        if isinstance(value, list):
            value = [self._decode_value(value) for value in value]
        else:
            value = self._decode_value(value)
        unicode_mixed[self._decode_key(key)] = value
    return unicode_mixed
