Searching in Treap requires sort key. This trait manages the relationship
among sort keys, search keys and values in a Treap. This is necessary when
the sort key is not directly derivable from the search key or is not a null
element.
TreapMap is a struct which implements a treap which can be indexed by a
different key (type SearchKey). The associate type SortKey and
SearchKey defines how to order node in treap collaborately.