code: func NewWebFrontEndImpl(
  	stats metrics.Scope,
  	clk clock.Clock,
  	keyPolicy goodkey.KeyPolicy,
  	logger blog.Logger,
  ) (WebFrontEndImpl, error) {
  	nonceService, err := nonce.NewNonceService(stats)
  	if err != nil {
  		return WebFrontEndImpl{}, err
  	}
  
  	csrSignatureAlgs := prometheus.NewCounterVec(
  		prometheus.CounterOpts{
  			Name: "csrSignatureAlgs",
  			Help: "Number of CSR signatures by algorithm",
  		},
  		[]string{"type"},
  	)
  	stats.MustRegister(csrSignatureAlgs)
  
  	return WebFrontEndImpl{
  		log:              logger,
  		clk:              clk,
  		nonceService:     nonceService,
  		stats:            stats,
  		keyPolicy:        keyPolicy,
  		csrSignatureAlgs: csrSignatureAlgs,
  	}, nil
  }
docs: // NewWebFrontEndImpl constructs a web service for Boulder