code: func (b *Bucket) write() []byte {
  	// Allocate the appropriate size.
  	var n = b.rootNode
  	var value = make([]byte, bucketHeaderSize+n.size())
  
  	// Write a bucket header.
  	var bucket = (*bucket)(unsafe.Pointer(&value[0]))
  	*bucket = *b.bucket
  
  	// Convert byte slice to a fake page and write the root node.
  	var p = (*page)(unsafe.Pointer(&value[bucketHeaderSize]))
  	n.write(p)
  
  	return value
  }
docs: // write allocates and writes a bucket to a byte slice.