Unions all three spend facts rather than trusting any one of them. The wire contract permits
isSpent: true with an empty spentBy (settlement inputs needing no forfeit are written that
way), so a spentBy || settledBy definition would classify a spent VTXO as spendable — inflating
balance and selecting it for a send that must fail.
Whether a virtual output has been consumed and can never be spent again.