anchor.diff:                        Ret
                 end
         end, infinity, 1000).
  -
  --spec start_rebalance_old_style([node()], [node()], [node()]) ->
  -                                       ok | in_progress | already_balanced.
  -start_rebalance_old_style(KeepNodes, EjectedNodes, FailedNodes) ->
  -    wait_for_orchestrator(),
  -    gen_fsm:sync_send_event(?SERVER, {start_rebalance, KeepNodes,
  -                                      EjectedNodes, FailedNodes}).
  -
   
   -spec start_rebalance([node()], [node()]) ->
                                ok | in_progress | already_balanced |
  
positive.code:          rebalance_progress/0,
           rebalance_progress_full/0,
           start_link/0,
           start_rebalance_old_style/3,
           start_rebalance/2,
           stop_rebalance/0,
           update_progress/1,
  
negative.code:     end;
  idle(rebalance_progress, _From, State) ->
      {reply, not_running, idle, State};
  %% NOTE: this is not remotely called but is used by maybe_start_rebalance
  idle({start_rebalance, KeepNodes, EjectNodes, FailedNodes}, _From,
              #idle_state{remaining_buckets = RemainingBuckets}) ->
      ?user_log(?REBALANCE_STARTED,
  