code: func whichSide(n, parent *node) int {
  	if parent.children[0] == n {
  		return 0
  	}
  
  	if parent.children[1] == n {
  		return 1
  	}
  
  	panic(fmt.Sprintf(`Node: %+v, %p not a child of: %+v, %p`, n, n, parent, parent))
  }
docs: // whichSide returns an int representing the side on which
  // the node resides in its parent.  NOTE: this function will panic
  // if the child does not within the parent.  This situation should
  // should be caught as early as possible as if it happens data
  // coming from the x-fast trie cannot be trusted.