import copy

def merge_dictionaries(
        dict1: dict,
        dict2: dict
    ) -> dict:
    """
    Merge two dictionaries, with values from the second dictionary
    overriding those from the first in case of key overlap.

    The merged dictionary values must be deepcopied to avoid side effects.

    Parameters
    ----------
    dict1 : dict
        The first dictionary.
    dict2 : dict
        The second dictionary.

    Returns
    -------
    dict
        The merged dictionary.

    Examples
    --------
    >>> merge_dictionaries({'a': 1, 'b': 2}, {'b': 3, 'c': 4})
    {'a': 1, 'b': 3, 'c': 4}
    """
    raise NotImplementedError("Complete this function.")
