from typing import Callable


def item_getter(*args, default=None) -> Callable:
    """
    Get a function that gets multiple items.

    Similar to `operator.itemgetter` but always returns a tuple, and supports defaults.
    """

    def f(x):
        return tuple(x.get(arg, default) for arg in args)

    return f