code: func (w WatchSet) Watch(timeoutCh <-chan time.Time) bool {
  	if w == nil {
  		return false
  	}
  
  	// Create a context that gets cancelled when the timeout is triggered
  	ctx, cancel := context.WithCancel(context.Background())
  	defer cancel()
  
  	go func() {
  		select {
  		case <-timeoutCh:
  			cancel()
  		case <-ctx.Done():
  		}
  	}()
  
  	return w.WatchCtx(ctx) == context.Canceled
  }
docs: // Watch is used to wait for either the watch set to trigger or a timeout.
  // Returns true on timeout.