I have to admit - I'm somewhat baffled at the enthusiasm for a "just CAT" softfork, since I can't see that it would achieve much. It's indicative to me that there isn't a compelling example to date that (i) actually has working code and (ii) only relies upon CAT. I'm not averse to CAT, just confused that there's a lot of enthusiasm for a CAT-only fork.
To do actually-interesting covenants, afacit you'd need "introspection" opcodes and/or CHECKSIGFROMSTACK - and even then, for almost all applications I'm familiar with, that kind of CAT-based approach would be much more circuitous than the alternatives that have been discussed for years on this list.
> Vaults
I don't think this is actually a use-case that CAT materially helps with. Andrew's posts, while well written and certainly foundational, do not sketch a design for vaults that someone would actually use. I don't see how CAT alone (without many auxiliary introspection opcodes) facilitates vaults that clear the usability hurdles I describe in this paper:
https://jameso.be/vaults.pdf. For example, batched withdrawals and partial unvaultings don't seem possible.
> Tree signatures
To what extent does Taproot obviate this use?