from typing import KeysView
from typing import Tuple
from typing import List
from typing import Set


def configuration_key_union(*argv: KeysView[Tuple[int, int]]
                           ) -> List[Tuple[int, int]]:
    """Given a list of configuration keys, build a list which is the union of
    all configuration keys in the list

    Args:
        *args (list[(int, int)]) - any number of configuration key lists to be joined

    Returns:
        list[(int, int)] - a list of unique configuration keys found among all
            the passed arguments
    """
    keyunion: Set[Tuple[int, int]] = set()
    for configs in argv:
        keyunion.update(configs)
    return list(keyunion)