from typing import Tuple
from typing import Any
from typing import Union


def next_empty(quilt: Tuple[Tuple[Any, ...], ...]) -> Union[Tuple[int, int], None]:
    """
    Get the position of the next empty block in the `quilt`.

    Empty blocks are populated with None.

    :param quilt: The quilt to be searched for empty blocks.
    :return: The position of the next empty block i.e. (x, y)
             or None if there are no empty blocks.
    """
    for y, row in enumerate(quilt):
        try:
            return row.index(None), y
        except ValueError:
            continue
    return None