func (t *Mutable) get(key Key) (*treapNode, *treapNode) {
	var parent *treapNode
	for node := t.root; node != nil; {
		compareResult := bytes.Compare(key[:], node.key[:])
		if compareResult < 0 {
			parent = node
			node = node.left
			continue
		}
		if compareResult > 0 {
			parent = node
			node = node.right
			continue
		}
		return node, parent
	}
	return nil, nil
}
get returns the treap node that contains the passed key and its parent.  When
the found node is the root of the tree, the parent will be nil.  When the key
does not exist, both the node and the parent will be nil.
package tickettreap
import "bytes"
type Mutable struct {
	root  *treapNode
	count int
	totalSize uint64
}
func (t *Mutable) Len() int {
	return t.count
}
func (t *Mutable) Size() uint64 {
	return t.totalSize
}