code: def unify_merge(d1, d2, U):
      d = d1.__class__()
      for k1, v1 in iteritems(d1):
          if k1 in d2:
              d[k1] = unify_merge(v1, d2[k1], U)
          else:
              d[k1] = unify_merge(v1, v1, U)
      for k2, v2 in iteritems(d2):
          if k2 not in d1:
              d[k2] = unify_merge(v2, v2, U)
      return d
  
imports: from __future__ import absolute_import, print_function, division
  from copy import copy
  from functools import partial
  from theano.gof.utils import ANY_TYPE, comm_guard, FALL_THROUGH, iteritems
label_desc: Use image node_id 22 for calling a global function with example usage: unify_merge(d1, d2, U) and returns: d