code: func (q *execQueue) canQueue() bool {
  	q.mu.Lock()
  	ok := !q.isClosed() && len(q.funcs) < cap(q.funcs)
  	q.mu.Unlock()
  	return ok
  }
docs: // canQueue returns true if more function calls can be added to the execution queue.