def get_swap_targets(node):
    """ All pairs of columns that do not have the same types in every cell """
    pairs = []
    n_col = node.table.n_col
    for i in range(n_col):
        col_i = node.table.get_col(i)
        for j in range(i + 1, n_col):
            col_j = node.table.get_col(j)

            same = True
            for ci, cj in zip(col_i, col_j):
                if not ci.t == cj.t:
                    same = False
                    break
            if not same:
                pairs.append((i, j))
    return pairs