from typing import Union


def permission_merge(default: Union[bool, None], specific: Union[bool, None]) -> bool:
    """
    Take a default permission flag (effectively boolean) and a tri-state specific flag, and merge them into the
    evaluated boolean.
    """
    return specific if specific is not None else bool(default)
