code: def __internal_union(self, root_a, root_b):
          
          # Merge the trees, smaller to larger
          update_rank = False
          # --Determine the larger tree
          rank_a = self.__forest[root_a]
          rank_b = self.__forest[root_b]
          if rank_a < rank_b:
              larger = root_b
              smaller = root_a
          else:
              larger = root_a
              smaller = root_b
              if rank_a == rank_b:
                  update_rank = True
          # --Make the smaller tree a subtree of the larger tree
          self.__forest[smaller] = larger
          # --Update the rank of the new tree (if necessary)
          if update_rank:
              self.__forest[larger] -= 1
docs: Internal function to join two set trees specified by root_a and root_b.
          Assumes root_a and root_b are distinct.