code: func (nc *Conn) removeSub(s *Subscription) {
  	nc.subsMu.Lock()
  	delete(nc.subs, s.sid)
  	nc.subsMu.Unlock()
  	s.mu.Lock()
  	defer s.mu.Unlock()
  	// Release callers on NextMsg for SyncSubscription only
  	if s.mch != nil && s.typ == SyncSubscription {
  		close(s.mch)
  	}
  	s.mch = nil
  
  	// Mark as invalid
  	s.conn = nil
  	s.closed = true
  	if s.pCond != nil {
  		s.pCond.Broadcast()
  	}
  }
docs: // Lock for nc should be held here upon entry