protected void RegisterCore <TDiagnostic>(TDiagnostic diagnostic)
     where TDiagnostic : IDiagnostic
 {
     configuration.@Do(cfg =>
     {
         cfg.Register(() => diagnostic);
         factory.@Do(f =>
         {
             var spec = f(null).Unwrap();
             modifier.@Do(m =>
                          spec = m(spec));
             cfg.Register <T, TDiagnostic>(spec);
         });
     });
 }