code: func NewClient(tracer *zipkin.Tracer, options ...ClientOption) (*Client, error) {
  	if tracer == nil {
  		return nil, ErrValidTracerRequired
  	}
  
  	c := &Client{tracer: tracer, Client: &http.Client{}}
  	for _, option := range options {
  		option(c)
  	}
  
  	c.transportOptions = append(
  		c.transportOptions,
  		// the following Client settings override provided transport settings.
  		RoundTripper(c.Client.Transport),
  		TransportTrace(c.httpTrace),
  	)
  	transport, err := NewTransport(tracer, c.transportOptions...)
  	if err != nil {
  		return nil, err
  	}
  	c.Client.Transport = transport
  
  	return c, nil
  }
docs: // NewClient returns an HTTP Client adding Zipkin instrumentation around an
  // embedded standard Go http.Client.