code: func (ctx *BatchedContext) enqueue(c call) (retVal DevicePtr, err error) {
  	if len(ctx.work) >= workBufLen-1 {
  		ctx.workAvailable <- struct{}{}
  	}
  	ctx.work <- c
  
  	// where in package `gl` a signal is opportunistically
  	// sent to the `workAvailable` channel, here it isn't. This is because
  	// the intended use of this package's batch processing capability is
  	// to only process when the queue is full, or when a call is blocking.
  
  	if c.blocking {
  		select {
  		case ctx.workAvailable <- struct{}{}:
  		default:
  		}
  		retVal = <-ctx.retVal
  		return retVal, ctx.errors()
  	}
  	return 0, ctx.errors()
  }
docs: // enqueue puts a CUDA call into the queue (which is the `work` channel).
  //
  // Here a difference between this package and package `gl` exists.