"One might rather choose for example the type of the first parameter, making + non associative."
Hmm, I'd leave such abominations to the creators of Java, who managed to forbid operator overloading for simple folks just because they got it horribly wrong with + for (String, anything), making + not just non-commutative, but non-associative as well, because (""+2)+3 != ""+(2+3), If you want something just left-associative, why not use <<, say?