code: func (q *execQueue) queue(f func()) bool {
  	q.mu.Lock()
  	ok := !q.isClosed() && len(q.funcs) < cap(q.funcs)
  	if ok {
  		q.funcs = append(q.funcs, f)
  		q.cond.Signal()
  	}
  	q.mu.Unlock()
  	return ok
  }
docs: // queue adds a function call to the execution queue. Returns true if successful.