anchor.diff:  
       Moves =
           [begin
  -             {_, {MasterEstimate, MasterChkItems}} = lists:keyfind({MasterNode, VB}, 1, SomeEstimates),
  +             {_, {MasterEstimate, MasterChkItems, ReplType}} = lists:keyfind({MasterNode, VB}, 1, SomeEstimates),
                RBStats =
                    [begin
  -                      {_, {ReplicaEstimate, _}} = lists:keyfind({Replica, VB}, 1, SomeEstimates),
  +                      {_, {ReplicaEstimate, _, _}} = lists:keyfind({Replica, VB}, 1, SomeEstimates),
                         Estimate = case ReplicaEstimate =< MasterEstimate of
                                        true ->
                                            %% in this case we assume no backfill
  
positive.code:             docs_left_updater_loop(Parent)
      end.
  
  update_docs_left_for_move(Parent, BucketName,
                            #move_state{vbucket = VBucket,
                                        before_chain = [MasterNode|_],
                                        stats = RStats}) ->
      TapNames = [S#replica_building_stats.tap_name || S <- RStats],
      try janitor_agent:get_tap_docs_estimate_many_taps(BucketName, MasterNode, VBucket, TapNames) of
          NewLefts ->
              Stuff =
                  lists:flatmap(
  
negative.code:              #move_state{vbucket = VB,
                           before_chain = ChainBefore,
                           after_chain = ChainAfter,
                           repl_type = ReplType,
                           stats = RBStats}
           end || {VB, [MasterNode|_] = ChainBefore, ChainAfter} <- Diff],
  
  