> I wonder how we can simplify this sheer boilerplate...

Inheriting constructors. C++11 has them.