code: func (c *cNode) inserted(pos, flag uint32, br branch, gen *generation) *cNode {
  	length := uint32(len(c.array))
  	bmp := c.bmp
  	array := make([]branch, length+1)
  	copy(array, c.array)
  	array[pos] = br
  	for i, x := pos, uint32(0); x < length-pos; i++ {
  		array[i+1] = c.array[i]
  		x++
  	}
  	ncn := &cNode{bmp: bmp | flag, array: array, gen: gen}
  	return ncn
  }
docs: // inserted returns a copy of this cNode with the new entry at the given
  // position.