public sealed class PeAnalysisBuilder
{
    internal IServiceCollection Services { get; }

    internal PeAnalysisBuilder(IServiceCollection services)
    {
        Services = services;
    }

    public PeAnalysisBuilder AddAnalyzer<TAnalyzer>() where TAnalyzer : class, IPeAnalyzer
    {
        Services.AddSingleton<IPeAnalyzer, TAnalyzer>();
        return this;
    }

    public PeAnalysisBuilder AddValidationRule<TRule>() where TRule : class, IValidationRule
    {
        Services.AddSingleton<IValidationRule, TRule>();
        return this;
    }
}