code: func (h *handler) startCallProc(fn func(*callProc)) {
  	h.callWG.Add(1)
  	go func() {
  		ctx, cancel := context.WithCancel(h.rootCtx)
  		defer h.callWG.Done()
  		defer cancel()
  		fn(&callProc{ctx: ctx})
  	}()
  }
docs: // startCallProc runs fn in a new goroutine and starts tracking it in the h.calls wait group.