code: func Wrap(ctx context.Context, constructor alice.Constructor) alice.Constructor {
  	return func(next http.Handler) (http.Handler, error) {
  		if constructor == nil {
  			return nil, nil
  		}
  		handler, err := constructor(next)
  		if err != nil {
  			return nil, err
  		}
  
  		if tracableHandler, ok := handler.(Tracable); ok {
  			name, spanKind := tracableHandler.GetTracingInformation()
  			log.FromContext(ctx).WithField(log.MiddlewareName, name).Debug("Adding tracing to middleware")
  			return NewWrapper(handler, name, spanKind), nil
  		}
  		return handler, nil
  	}
  }
docs: // Wrap adds tracability to an alice.Constructor.