anchor.diff:                  _ ->
                       % abort slide but do not notify the other node
                       % (this message should not have been received anyway!)
  -                    ErrorMsg = io_lib:format("~w received for a slide with ~s, but only expected for slides with~s~n",
  +                    ErrorMsg = io_lib:format("~.0p received for a slide with ~s, but only expected for slides with~s~n",
                                                [MoveMsgTag, PredOrSucc, PredOrSuccExp]),
                       NewState = abort_slide(State, SlideOp, PredOrSucc, {protocol_error, ErrorMsg}, false),
  -                    log:log(warn, "[ dht_node_move ~w ] ~w received for a slide with my ~s, but only expected for slides with~s~n"
  -                                      "(operation: ~w)~n", [comm:this(), MoveMsgTag, PredOrSucc, PredOrSuccExp, SlideOp]),
  +                    log:log(warn, "[ dht_node_move ~.0p ] ~.0p received for a slide with my ~s, but only expected for slides with~s~n"
  +                                      "(operation: ~.0p)~n", [comm:this(), MoveMsgTag, PredOrSucc, PredOrSuccExp, SlideOp]),
                       NewState
               end;
           not_found ->
  -            log:log(warn,"[ dht_node_move ~w ] ~w received with no matching slide operation (ID: ~w, slide_pred: ~w, slide_succ: ~w)~n",
  +            log:log(warn,"[ dht_node_move ~.0p ] ~.0p received with no matching slide operation (ID: ~.0p, slide_pred: ~.0p, slide_succ: ~.0p)~n",
                       [comm:this(), MoveMsgTag, MoveFullId, dht_node_state:get(State, slide_pred), dht_node_state:get(State, slide_succ)]),
               State;
           {wrong_neighbor, Type, SlideOp} -> % wrong pred or succ
               case lists:member(slide_op:get_phase(SlideOp), WorkPhases) of
                   true ->
                       NewState = abort_slide(State, SlideOp, Type, wrong_pred_succ_node, true),
  -                    log:log(warn,"[ dht_node_move ~w ] ~w received but ~s changed during move (ID: ~w, node(slide): ~w, new_~s: ~w)~n",
  +                    log:log(warn,"[ dht_node_move ~.0p ] ~.0p received but ~s changed during move (ID: ~.0p, node(slide): ~.0p, new_~s: ~.0p)~n",
                               [comm:this(), MoveMsgTag, Type, MoveFullId, slide_op:get_node(SlideOp), Type, dht_node_state:get(State, Type)]),
                       NewState;
                   _ -> State
  
positive.code:                   NotifyNode::boolean()) -> dht_node_state:state().
  abort_slide(State, SlideOp, Pred_or_Succ, Reason, NotifyNode) ->
      % write to log when aborting an already set-up slide:
      log:log(warn, "abort_slide(op: ~p, ~p, reason: ~p)~n",
              [SlideOp, Pred_or_Succ, Reason]),
      slide_op:reset_timer(SlideOp), % reset previous timeouts
      % potentially set up for joining nodes (slide with pred):
  
negative.code: %% @doc Returns whether a slide operation is possible, i.e. MySlide is null and
  %%      OtherSlide is either null or not overlapping with TargetId.
  %%      Helper for can_slide_succ/2 and can_slide_pred/2.
  -spec can_slide(MySlide::slide_op:slide_op() | null,
                  OtherSlide::slide_op:slide_op() | null, TargetId::?RT:key()) -> boolean().
  can_slide(MySlide, OtherSlide, TargetId) ->
      MySlide =:= null andalso
          (OtherSlide =:= null orelse
  