code: func (n *Node) copy() *Node {
  	cpValues := make([]interface{}, len(n.ChildValues))
  	copy(cpValues, n.ChildValues)
  	cpKeys := make(Keys, len(n.ChildKeys))
  	copy(cpKeys, n.ChildKeys)
  
  	return &Node{
  		ID:          newID(),
  		IsLeaf:      n.IsLeaf,
  		ChildValues: cpValues,
  		ChildKeys:   cpKeys,
  	}
  }
docs: // copy makes a deep copy of this node.  Required before any mutation.