par contre c'est vrai qu'on peut rajouter l'opérateur
MultAddScript operator*(const AddScript &a, const Foo &f);
pour avoir un meilleur a+b*c
qui est trivial. par contre pour les autres, non. on n'est pas face à quelque chose de symétrique/commutatif à priori.
apres, c'est impossible d'améliorer durablement
a+b+c, ou alors, ilf aut ecrire des dizaine de classe pour gérer autant de sommes... ce qui n'est pas tres interessant
comme le montre la trace de a+b+c et de a+b+c+d, avec le transtypage, on a déjà un gain tres significatif