anchor.diff:  %% @doc
   %% Gets the smallest value in the tree (may correspond to multiple keys, therefore we only return the Val)
   %% @end
  +-spec min(tree(_,Val)) -> none | {ok,Val}.
  +
   min({ByVal,_ByKey,_Comp}) ->
       case gb_trees:is_empty(ByVal) of
           true ->
  
positive.code: %% @doc
  %% Takes the Num smallest elements from the data structure and returns them plus the remainder
  %% @end
  split(Num,Tree) ->
      case is_empty(Tree) of
          true -> {[],Tree};
  
negative.code:         {ok,Val} -> {ok,Val}
      end.
  
  -spec remove(Key,tree(Key,Val)) -> tree(Key,Val).
  
  remove(Key,T = {ByVal,ByKey,Comp}) ->
      case dict:find(Key,ByKey) of
          error ->
  