from typing import Union
from typing import Any


def safe_get(obj_to_fetch_from: dict, what_to_fetch: str, default_val: Union[dict, list, str]) -> Any:
    """Guarantees the default value in place of a Nonetype object when the value for a given key is explicitly None

    Args:
        obj_to_fetch_from (dict): The dictionary to fetch from
        what_to_fetch (str): The key for the desired value
        default_val: The default value to set instead of None

    Returns:
        The fetched value unless it is None in which case the default is returned instead
    """
    val = obj_to_fetch_from.get(what_to_fetch, default_val)
    if val is None:
        val = default_val
    return val