We want abstractions to make things easier to do, but we don't want to pay for them with CPU cycles... that's what a zero-cost abstraction means. It's not about adding in useless abstractions. The ideal is software that is faster to write and easier to understand and maintain, while offering uncompromised execution performance.