docs: def details_dict(obj, existing, ignore_missing, opt):
      """Output the changes, if any, for a dict"""
      existing = dict_unicodeize(existing)
      obj = dict_unicodeize(obj)
      for ex_k, ex_v in iteritems(existing):
          new_value = normalize_val(obj.get(ex_k))
          og_value = normalize_val(ex_v)
          if ex_k in obj and og_value != new_value:
              print(maybe_colored("-- %s: %s" % (ex_k, og_value),
                                  'red', opt))
              print(maybe_colored("++ %s: %s" % (ex_k, new_value),
                                  'green', opt))
  
          if (not ignore_missing) and (ex_k not in obj):
              print(maybe_colored("-- %s: %s" % (ex_k, og_value),
                                  'red', opt))
  
      for ob_k, ob_v in iteritems(obj):
          val = normalize_val(ob_v)
          if ob_k not in existing:
              print(maybe_colored("++ %s: %s" % (ob_k, val),
                                  'green', opt))
  
      return