To reiterate, operator overloading exists in D to support the inclusion of arithmetic library types. Any other purpose is discouraged, and that includes expression templates and things like << for iostreams.
It seeds rather harsh to discourage every possible use case of a feature sans one, simply because one does not agree with the others.