I'm genuinely interested in what extreme edge cases would cause a client to reuse an address as well. Here's an example of address reuse regarding Samourai's client - https://twitter.com/brian_trollz/status/1283525347007442944
https://twitter.com/brian_trollz/status/1445065052118261776
But since address reuse is not a part of either coinjoin protocol itself, it's not really relevant to the solving the problem of "What is the best way to make non private inputs into private outputs without revealing any addresses belong to each other".