code: func (c *Container) Update(typ byte, n int32, mapped bool) {
  	c.typ = typ
  	c.n = n
  	c.mapped = mapped
  	// we don't know that any existing slice is usable, so let's ditch it
  	switch c.typ {
  	case containerArray:
  		c.pointer, c.len, c.cap = (*uint16)(unsafe.Pointer(&c.data[0])), int32(0), stashedArraySize
  	case containerRun:
  		c.pointer, c.len, c.cap = (*uint16)(unsafe.Pointer(&c.data[0])), 0, stashedRunSize
  	default:
  		c.pointer, c.len, c.cap = nil, 0, 0
  	}
  }
docs: // Update updates the container