code: func (c *cursor) Value() []byte {
  	// Ensure transaction state is valid.
  	if err := c.bucket.tx.checkClosed(); err != nil {
  		return nil
  	}
  
  	// Nothing to return if cursor is exhausted.
  	if c.currentIter == nil {
  		return nil
  	}
  
  	// Return nil for the value when the cursor is pointing to a nested
  	// bucket.
  	if bytes.HasPrefix(c.currentIter.Key(), bucketIndexPrefix) {
  		return nil
  	}
  
  	return copySlice(c.currentIter.Value())
  }
docs: // Value returns the current value the cursor is pointing to.  This will be nil
  // for nested buckets.
  //
  // This function is part of the database.Cursor interface implementation.