def _merge(src, dst):
    """Merges two dictionaries recursively

    :param src: Source dictionary
    :type src: dict
    :param dst: Destination dictionary, will have src merged into it
    :type dst: dict

    :return: dst, now with src merged into it
    """

    for key, value in src.items():
        if isinstance(value, dict):
            _merge(value, dst.setdefault(key, {}))
        elif key not in dst:
            dst[key] = value
    return dst