Il team di C# sottolinea che l'uso di overload di operatori non genera codice che non sia CLS-Compliant e perciò suggerisce di usare questa tecnica liberamente.

http://blogs.msdn.com/csharpfaq/archive/2004/10/20/245226.aspx

In realtà non è certo per questo motivo che normalmente io non uso overload di operatori. Quello che mi spaventa non è la CLS-Compliancy, ma il fatto che un operatore rende il codice più criptico e meno leggibile di un buon vecchio metodo.