Actually, do we already do this in C++? Should we?