code: def semiflatten(multi):
      
      if multi:
          result = multi.to_dict(flat=False)
          for k, v in result.items():
              if len(v) == 1:
                  result[k] = v[0]
          return result
      else:
          return multi
docs: Convert a MutiDict into a regular dict. If there are more than one value
      for a key, the result will have a list of values for the key. Otherwise it
      will have the plain value.