discover.go
func WithProviders(m map[string]Provider) Option {
	return func(d *Discover) error {
		d.Providers = m
		return nil
	}
}
func WithProviders(m map[string]Provider) Option {
	return func(d *Discover) error {
		d.Providers = m
		return nil
	}
}
// WithProviders allows specifying your own set of providers.