code: func (c *Cursor) Delete() error {
  	if c.bucket.tx.db == nil {
  		return ErrTxClosed
  	} else if !c.bucket.Writable() {
  		return ErrTxNotWritable
  	}
  
  	key, _, flags := c.keyValue()
  	// Return an error if current value is a bucket.
  	if (flags & bucketLeafFlag) != 0 {
  		return ErrIncompatibleValue
  	}
  	c.node().del(key)
  
  	return nil
  }
docs: // Delete removes the current key/value under the cursor from the bucket.
  // Delete fails if current key/value is a bucket or if the transaction is not writable.