/// <summary>
 ///     Replaces an existing convention with a derived convention.
 /// </summary>
 /// <typeparam name="TConvention">The type of convention being replaced.</typeparam>
 /// <typeparam name="TImplementation">The type of the old convention.</typeparam>
 /// <param name="conventionsList">The list of existing convention instances to scan.</param>
 /// <param name="newConvention">The new convention.</param>
 protected virtual bool ReplaceConvention <TConvention, TImplementation>(
     IList <TConvention> conventionsList,
     TImplementation newConvention)
     where TImplementation : TConvention
 => ConventionSet.Replace(conventionsList, newConvention);