anchor.diff:                                                      IntersectElem =
                                                           get_inter_elem(ElemL, ElemR),
                                                       IntersectProvenance =
  -                                                        cross_provenance(
  +                                                        state_oorset_ps:cross_provenance(
                                                             RestProvenanceL,
                                                             RestProvenanceR),
                                                       ordsets:fold(
  
positive.code:     {IntersectElemDataStore, IntersectEventDataStore} =
          orddict:fold(
            fun(ElemL, ProvenanceL, AccIntersectDataStore0) ->
                    case subtract_removed(ProvenanceL, ValidEventsL1) of
                        [] ->
                            AccIntersectDataStore0;
                        RestProvenanceL ->
                            orddict:fold(
                              fun(ElemR, ProvenanceR, AccIntersectDataStore1) ->
                                      case subtract_removed(ProvenanceR,
                                                            ValidEventsR1) of
                                          [] ->
                                              AccIntersectDataStore1;
                                          RestProvenanceR ->
  
negative.code:     lists:foldl(FolderFun, new(), V).
  
  %% @private
  join_all_events({vclock, AllEventsA}, {vclock, AllEventsB}) ->
      {JoinedAllEvents, RestB} =
          lists:foldl(
  