Great writeup. Two thoughts in support of forced transactions:
- Saving application developers (and users) from complexity is a very big deal. Starkware has a bunch of super talented software engineers; if you can use them to design a protocol which is easier for app developers to use, it’s huge win. The applicative escape hatch could look even more complex for applications that are more complex than ERC20 tokens.
- Liveness guarantees are better and more general than withdrawal escape hatches. Picture e.g. a defi protocol with margining; if censorship prevents liquidations or prevents adding capital, very bad things happen. Also, withdrawals to L1 may not be practical for many users due to eventual L1 fees. It’s just bad in many ways to not be able to depend on your application continuing to run.
Also, a relevant slide from DevConnect in amsterdam: