fixes MSVC Community 2015 ICE
The default constructors are now used as template specializations by postponing them below the template definition
The default constructors are now used as template specializations by postponing them below the template definition