sclass TreeHasKeyMap> extends HasKeyMap {
*() { init(); }
*(Iterable l) { init(); addAll(l); }
void init { map = new TreeMap; }
TreeMap map() { ret (TreeMap) map; }
A lastKey() { ret main lastKey(map()); }
B higher(B a) { ret a == null ?: higherValue(map(), a.getKey()); }
}