code: func (mc MiddlewareChain) Extend(mw ...Middleware) MiddlewareChain {
  	if len(mw) == 0 {
  		return mc
  	}
  
  	ext := make([]Middleware, 0, len(mc.middleware)+len(mw))
  	return MiddlewareChain{append(append(ext, mc.middleware...), mw...)}
  }
docs: // Extend returns a new MiddlewareChain with the supplied Middleware appended to
  // the end.