def METHOD_NAME(tb_bp: Table, tb_shift: Table) -> pd.DataFrame:
    """Combine BP and Shift data.
    Parameters
    ----------
    tb_bp : Table
        Processed BP table.
    tb_shift : Table
        Process Shift table.
    Returns
    -------
    combined : pd.DataFrame
        Combined data.
    """
    # Check that there are no duplicated rows in any of the two datasets.
    assert tb_bp[tb_bp.duplicated(subset=["country", "year"])].empty, "Duplicated rows in BP data."
    assert tb_shift[tb_shift.duplicated(subset=["country", "year"])].empty, "Duplicated rows in Shift data."
    # Combine Shift data (which goes further back in the past) with BP data (which is more up-to-date).
    # On coincident rows, prioritise BP data.
    index_columns = ["country", "year"]
    combined = dataframes.combine_two_overlapping_dataframes(df1=tb_bp, df2=tb_shift, index_columns=index_columns)
    # Remove rows that only have nan.
    combined = combined.dropna(subset=combined.drop(columns=["country", "year"]).columns, how="all")
    # Sort data appropriately.
    combined = pd.DataFrame(combined).sort_values(index_columns).reset_index(drop=True)
    return combined