this silently did the wrong thing on g++ (precedence of postfix ++/--)
and didn't compile on clang++. The correct solution is to
prefix-increment, which has no precedence issues and calls the correct
function. Postfix-increment with correct precedence would have resulted
in a stack overflow anyway.