def METHOD_NAME(lhs, rhs, n):
    assert isinstance(rhs, list)
    assert (n > 0) and (len(rhs) == n)
    assert_type(lhs, rhs, n)
    if isinstance(lhs, np.ndarray):
        assert lhs.shape[0] == n
        for i in range(n):
            assert np.all(lhs[i] == rhs[i])
    elif isinstance(lhs, tuple):
        for i in range(len(lhs)):
            rhs_T_i = [rhs[j][i] for j in range(n)]
            METHOD_NAME(lhs[i], rhs_T_i, n)
    elif isinstance(lhs, OrderedDict):
        for key in lhs.keys():
            rhs_T_key = [rhs[j][key] for j in range(n)]
            METHOD_NAME(lhs[key], rhs_T_key, n)
    else:
        raise TypeError(f"Got unknown type `{type(lhs)}`.")