func (DummyTree) Compare(a, b Dummy) int {
	return 0
}
Compare is used to determine
how two elements stored in the avl.Tree compare
and should return an integer less than, equal to, or greater than
0 as the two elements are less
than, equal to, or greater than each other.
Any struct passed as a reference to avl.Make must have this method defined
as it is used to deduce the type of the
elements stored in the Tree as well as in the implementation
of the tree operations.
package avl
import (
	"errors"
	"fmt"
	"reflect"
)
type Node struct {
	val reflect.Value
	c   [2]*Node
	p   *Node
	b   int8
}
type Setter interface {
	SetTree(*Tree)
}
type Tree struct {
	root     *Node
	elemType reflect.Type
	size     int
	cmp      func(a, b reflect.Value) int8
}
type DummyTree struct {
	*Tree
	Insert func(Dummy)
	Delete func(Dummy)
	Lookup func(Dummy) (Dummy, bool)
	Value func(*Node) Dummy
}