


We might want to get the first key or key-value pair from a tree, perhaps to use it as a poor man’s priority queue:
linux$ my
eval: include string_map;
eval: m = empty: Map( String );
eval: m $= ("Key1", "Value1");
eval: m $= ("Key2", "Value2");
eval: m $= ("Key3", "Value3");
eval: first_keyval_else_null m;
THE ("Key1", "Value1")
eval: my (m,_) = drop(m, "Key1");
eval: first_keyval_else_null m;
THE ("Key2", "Value2")
eval: my (m,_) = drop(m, "Key2");
eval: first_keyval_else_null m;
THE ("Key3", "Value3")
eval: my (m,_) = drop(m, "Key3");
eval: first_keyval_else_null m;
NULL


