\[~ann.campbell.2] LGTM, changed the label from api-design to clumsy. The constructor can't be called directly, because it's in an ``++abstract++`` class. So we can only call it from a deriving type's constructor, but this is also the case if the constructor is ``++protected++``, so we are not proposing any real change in api-design. WDYT?