edit: I didn't see the Uber example, so I was working off an incorrect premise. It actually makes sense.
How would that work in real life? Uber doesn't charge you before your ride is complete, and at that point your payment would bounce, and now you're in trouble.
Ditto for fast-food diet; nobody's going to be happy when you walk up to the counter at 16 Handles with your big bucket of ice cream and your card doesn't go through.
I suppose the idea is to keep all of this in mind, but it still seems odd.
But you're right - someone will come up with an interesting use case for it. (My first idea was a card for my kid, so they can only make $10 worth of in-game purchases a month.)
Well in the Uber example you're allowing payments to Uber, not denying them.
But you do have a very good point about denying pay-after-use type transactions, I'm not really sure what they're doing about that.
That's the one I was thinking of, note the "lets her take as many Uber rides as she needs".
I kid, the possibility of putting spending rules as code is neat.
But I think the problem it's attempting to solve is that without Root a bank must implement any kind of features that you may want, Root you allows you to implement any features you want.
Although I can't decide whether this is an amazing thing, or a terrible terrible thing.