Experimenting with the idea of an object-oriented pin class that uses operator overloading to intuitively abbreviate the usage of digitalRead(...), digitalWrite(...), analogRead(...) and analogWrite(.
There are a number of great implementations of operator overloading including a current proposal. This proposal is far more sophisticated than this implementation, but I had issues with my use case.
Being able to use the same operator type to perform different operations. For example, arithmetic operators such as +, -, * and / could be defined to perform differently on certain kinds of data. See ...