min: (acc, x) =>
            pairs.reduce((acc, [id, impl]) => {
                acc[id] = impl.min(acc[id], x[id]);
                return acc;
            }, acc || <T>{}),