Problem statement: when doing manual RBF (without using bumpfee RPC) we treat previous change output as a receiver and thus create two outputs to the same address
Proposal: combine amount on outputs to the same address
What are valid use-cases for having the same address for change and output?
Consolidation with payment
Alternative: Use sendall with two outputs one with an amount and yours without an amount
Payment and send at least X to yourself
Consolidate with automatic coin selection of at least X
Alternative: Implement "Send at least" as a separate and explicitly feature
Consider just giving an error if change destination is the same with one of the outputs
Should we do the enforcement only at RPC level?
No, because this is risky
We don't want to fix manual RBF, because we have bumpfee RPC
Maybe you can also take original TX and give to fundrawtransaction