A quite memorable article [1] described a “backwards” message-passing technique in C++ using operator overloading so you could do stuff like:
obj<-method arg1 arg2;
[1] https://jacobfilipp.com/DrDobbs/articles/DDJ/1996/9608/9608e...