code: func Wrappers(fns ...WrapperFunc) WrapperFunc {
  	if len(fns) == 0 {
  		return nil
  	}
  	// optimize the common case of wrapping a possibly nil transport wrapper
  	// with an additional wrapper
  	if len(fns) == 2 && fns[0] == nil {
  		return fns[1]
  	}
  	return func(rt http.RoundTripper) http.RoundTripper {
  		base := rt
  		for _, fn := range fns {
  			if fn != nil {
  				base = fn(base)
  			}
  		}
  		return base
  	}
  }
docs: // Wrappers accepts any number of wrappers and returns a wrapper
  // function that is the equivalent of calling each of them in order. Nil
  // values are ignored, which makes this function convenient for incrementally
  // wrapping a function.