def METHOD_NAME(
    self,
    reducer: Callable[Concatenate[Position, P], Amount],
    *args: P.args,
    **_kwargs: P.kwargs,
) -> SimpleCounterInventory:
    """Reduce inventory.
    Note that this returns a simple :class:`CounterInventory` with just
    currencies as keys.
    """
    counter = SimpleCounterInventory()
    for (currency, cost), number in self.items():
        pos = create.position(create.amount((number, currency)), cost)
        amount = reducer(pos, *args)
        counter.add(amount.currency, amount.number)
    return counter