anchor.diff:  %%      Returned lists are sorted and contain no duplicates.
   -spec split_unique(L1::[X], L2::[X]) -> {UniqueL1::[X], Shared::[X], UniqueL2::[X]}.
   split_unique(L1, L2) ->
  -    split_unique(L1, L2, fun(A, B) -> A =< B end).
  +    split_unique(L1, L2, fun erlang:'=<'/2).
   
   %% @doc Splits L1 into a list of elements that are not contained in L2, a list
   %%      of elements that are equal in both lists (according to the ordering
  
positive.code: %%      Both lists must be sorted. Returned lists are sorted as well.
  -spec ssplit_unique(L1::[X], L2::[X]) -> {UniqueL1::[X], Shared::[X], UniqueL2::[X]}.
  ssplit_unique(L1, L2) ->
      ssplit_unique(L1, L2, fun(A, B) -> A =< B end).
  
  %% @doc Splits L1 into a list of elements that are not contained in L2, a list
  %%      of elements that are equal in both lists (according to the ordering
  
negative.code: 
  -spec smerge2(L1::[X], L2::[X]) -> MergedList::[X].
  smerge2(L1, L2) ->
      smerge2(L1, L2, fun erlang:'=<'/2).
  
  -spec smerge2(L1::[X], L2::[X], Lte::fun((X, X) -> boolean())) -> MergedList::[X].
  smerge2(L1, L2, Lte) ->
  