code: def tree_diff(a, b, n=5, sort=False):
      a = dump(a)
      b = dump(b)
      if not sort:
          a = vformat(a).split("\n")
          b = vformat(b).split("\n")
      else:
          a = vformat(recursive_sort(a)).split("\n")
          b = vformat(recursive_sort(b)).split("\n")
      return "\n".join(difflib.unified_diff(a, b, n=n, lineterm=""))