The following will not compile because currently TService is required to be a class
    public interface ITestService
    {
    }
    public class TestService : ITestService
    {
    }
    public static IServiceCollection RegisterScopedTestService<TService, TImplementation>(this IServiceCollection services)
        where TImplementation : class, TService
    {
        return services.AddScoped<TService, TImplementation>();
    }Was this intentional?