Abstractions are welcome when it doesn't matter, when it matters there are other ways to write the code and it keeps being C++ compliant.