from typing import Dict
from typing import Any


def remove_none_values_recursively(dictionary: Dict[Any, Any]) -> Dict[Any, Any]:
    """ Recursively removes the key value pairs where the value is None. 

    This is a recursive function which tries to find key value pairs where the value is None and 
    then remove these pairs from the dictionary. 

    Args:
        dictionary (dict): The dictionary to remove the None values from.

    Returns:
        dict: A dictionary with the None value pairs removed.
    """

    return {
        key: remove_none_values_recursively(value) if isinstance(value, dict) else value # type: ignore
        for key, value in dictionary.items()
        if value is not None
    }