def leafnames(deep_dict):
    """
    Find keys of leaf-items in a nested dict, using recursion.
    Parameters:
        deep_dict (dict): nested dictionary

    Returns:
        list: list of keys that map to leaves of a deeply nested dict

    """
    keylist = []

    def get_keys(doc):
        if isinstance(doc, dict):
            for key, val in doc.items():
                if not isinstance(val, dict):
                    keylist.append(key)  # side-effect :(
                get_keys(val)

    get_keys(deep_dict)
    return keylist