code: def _merge_unbound_var_dicts(src, dst):
    
    for k, v in six.iteritems(src):
      if dst.get(k, v) != v:
        trace1 = ''.join(scopes.skip_common_stack_elements(v.stacktrace, dst[
            k].stacktrace))
        trace2 = ''.join(
            scopes.skip_common_stack_elements(dst[k].stacktrace, v.stacktrace))
        raise ValueError('Key conflict: %s\nDefined At:\n%s\nand\n%s' %
                         (k, trace1, trace2))
      else:
        dst[k] = v
docs: Merges src into dst and throws an exception if a value is incompatible.