def flatten_nested_dict_to_pairs(nested_dict):
    """
    Given a nested dict of arbitrary depth, this function returns a
    list of pairs (nested_key, final value).

    :Example:
    >>> nested_dict = {'k1': {'ka' : 'v1', 'kb': {'kα': 'v2'}}, 'k2': 'v3'}
    >>> flatten_nested_dict_to_pairs(nested_dict)
    >>> [('k2','v3'), ('k1_kb_kα','v2'), ('k1_ka', 'v1')]
    :param nested_dict: A dictionary
    :return:
    """
    pairs = []
    for key, value in nested_dict.items():
        if isinstance(value, dict):
            nested_pairs = flatten_nested_dict_to_pairs(value)
            for nested_pair in nested_pairs:
                k, v = nested_pair
                pairs.append((u'%s_%s' % (key, k), v))
        else:
            pairs.append((u'%s' % key,  value))
                
    return pairs