As we all know TITAN is real anonymous on blockchain,so no one can know receiver and sender of one trasaction by default.But I think set TITAN become optional is reasonable.For example,I make a deal with A ,and I want to open to pay 100XTS to A ,so A can't not to admit this deal because this transaction is open to everyone.
Moreover,sometimes we need to create a open account that every receive and send can open to everyone. I think TITAN is redundant for some account that need to monitor by public .Like bts from AGS before 2.28.
So,receiver/sender anonymous or account anonymous optional function is very pratical.