anchor.diff:      %% Did we deliver something? If so, try again.
       case ND > 0 of 
           true ->
  -            lager:info("~p: was able to deliver a message, trying again", [?MODULE]),
  +            replay_debug("~p: was able to deliver a message, trying again", [?MODULE]),
               trace_deliver_log_flush(Shrinking, T, BP);
           false ->
  -            lager:info("~p: flush attempt finished.", [?MODULE]),
  +            replay_debug("~p: flush attempt finished.", [?MODULE]),
               {T, BP}
       end.
   
  
positive.code:     io:format(Io, "~p.~n", [FilteredTrace]),
      file:close(Io),
  
      ok.
negative.code:             %% this *should* be the common case if we shrink from the back of the trace forward (foldr)
              case Shrinking of 
                  true ->
                      replay_debug("~p: => CONDITIONAL YES, message doesn't exist in previous trace, but shrinking: ~p ~p", [?MODULE, Type, Message]),
                      true;
                  false ->
                      replay_debug("~p: => message should not have been delivered, blocking.", [?MODULE]),
                      false
              end
      end.
  
  %% @private
  trace_deliver(Shrinking, {Type, Message}, [{Type, Message} | Trace], BlockedProcesses) ->
      replay_debug("~p: delivering single message!", [?MODULE]),
  
      %% Advance the trace, then try to flush the blocked processes.
      trace_deliver_log_flush(Shrinking, Trace, BlockedProcesses);
  trace_deliver(_Shrinking, {_, _}, [{_, _} | Trace], BlockedProcesses) ->
      replay_debug("~p: delivering single message (not in the trace)!", [?MODULE]),
  
      %% Advance the trace, don't flush blocked processes, since we weren't in the trace, nothing is blocked.
      {Trace, BlockedProcesses};
  trace_deliver(_Shrinking, {_, _}, [], BlockedProcesses) ->
      replay_debug("~p: delivering single message (not in the trace -- end of trace)!", [?MODULE]),
  
      %% No trace to advance.
      {[], BlockedProcesses}.
  
  %% @private
  trace_deliver_log_flush(Shrinking, Trace0, BlockedProcesses0) ->
      replay_debug("~p: attempting to flush blocked messages!", [?MODULE]),
  
      %% Iterate blocked processes in an attempt to remove one.
      {ND, T, BP} = lists:foldl(fun({{NextType, NextMessage}, Pid} = BP, {NumDelivered1, Trace1, BlockedProcesses1}) ->
          case can_deliver_based_on_trace(Shrinking, {NextType, NextMessage}, Trace1, BlockedProcesses0) of 
              true ->
                  replay_debug("~p: pid ~p can be unblocked!", [?MODULE, Pid]),
  
                  %% Advance the trace.
                  [{_, _} | RestOfTrace] = Trace1,
  