code: def get_value(d, name, field):
      
      multiple = core.is_multiple(field)
      value = d.get(name, core.missing)
      if value is core.missing:
          return core.missing
      if multiple and value is not core.missing:
          return [
              decode_argument(v, name) if isinstance(v, basestring) else v for v in value
          ]
      ret = value
      if value and isinstance(value, (list, tuple)):
          ret = value[0]
      if isinstance(ret, basestring):
          return decode_argument(ret, name)
      else:
          return ret
docs: Handle gets from 'multidicts' made of lists
  
      It handles cases: ``{"key": [value]}`` and ``{"key": value}``