To allow rvalues and propagate constness, so as to make it behave more like a typedef or macro. In the snippet you gave, of course, it needs to be non-const. But it's good practice to provide both when you write such adaptors.