It depends how you look at it, but an external actor can often (not always) trace through a sequence of a few taker side joins *assuming the taker is the same actor across them*; that assumption is true more often than not. I did some quantitative analysis of this myself on real transactions and it's like 40-60% of individual joins that have the necessary property of identifying the input set of the taker, though success strongly depends on assumptions made about coinjoin fees.
So there are a number of factors, but generally the anonymizing effect is much weaker than one would believe if you go for "a few coinjoins with "anon set of 9-10". All depends on your usage pattern. A long running mixture of taker and maker behaviour is best, but there are never any guarantees, just long term amelioration.
That's how i always saw coinjoin generally, but most people don't, I guess. They want guarantees.