title: When to use TryAddSingleton or AddSingleton?
body: <p>I've noticed in some .NET Core examples there are calls to  <code>TryAddSingleton</code>, and in some <code>AddSingleton</code> when registering services.</p>
  <p>Decompiler shows that TryAdd (called by TryAddSingleton) adds the specified param &quot;descriptor&quot; to the &quot;collection&quot; if the service type hasn't been already registered.</p>
  <p>Does it mean that it's always safer to use TryAddSingleton, in case if some other method/library already registered the same class?</p>