If you didn't verify the output scriptPubKeys, you would *only* be able
to care about fees since you couldn't verify where any of the funds went?
And you'd only be able to say fees are "at least x", since they could be
more if one of the scriptPubKeys turned out to be OP_TRUE eg. That might
almost make sense for a transaction accelerator that's trying to increase
the fees; but only if you were doing it for someone else's transaction
(since otherwise you'd care about the output addresses) and only if you
were happy to not receive any change? Seems like a pretty weird use case?
You are right of course. I was thinking of cases where you only care about where some of the outputs go but not all. But of course, even in that case you will need to wade through all of the output ScriptPubKeys anyways.
The current design shares the hashOuputs value with the one computed with BIP-143, and that is a somewhat valuable property to keep.
Thanks for setting me straight.