def strip_alias(data_type):
    """
    Strip alias from a data_type chain - this function should be
    used *after* aliases are resolved (see resolve_aliases fn):

    Loops through given data type chain (unwraps types), replaces
    first alias with underlying type, and then terminates.

    Note: Stops on encountering the first alias as it assumes
    intermediate aliases are already removed.

    Args:
        data_type (DataType): The target DataType chain to strip.
    Return:
        None
    """
    while hasattr(data_type, 'data_type'):
        if is_alias(data_type.data_type):
            data_type.data_type = data_type.data_type.data_type
            break
        data_type = data_type.data_type