code: function BinaryTree( options , ... elements ) {
  	var autoIndex = 0 ;
  
  	this.trunc = null ;
  	this.length = 0 ;
  	this.keyFn = options && options.keyFn ;
  	this.uniqueKeys = !! ( options && options.uniqueKeys ) ;
  
  	if ( ! this.keyFn ) {
  		this.keyFn = ( element , hint ) => hint !== undefined ? hint : autoIndex ++ ;
  	}
  
  	if ( elements.length ) {
  		this.insert( ... elements ) ;
  	}
  }
docs: /*
  For balancing, it uses the AVL algorithm.
  See: https://en.wikipedia.org/wiki/AVL_tree
  Visualization: https://www.cs.usfca.edu/~galles/visualization/AVLtree.html