anchor.diff:  
   %% @private 
   can_deliver_based_on_trace(Shrinking, {Type, Message}, PreviousTrace, BlockedProcesses) ->
  -    lager:info("~p: determining if message ~p: ~p can be delivered.", [?MODULE, Type, Message]),
  +    replay_debug("~p: determining if message ~p: ~p can be delivered.", [?MODULE, Type, Message]),
   
       case PreviousTrace of 
           [{NextType, NextMessage} | _] ->
               CanDeliver = case {NextType, NextMessage} of 
                   {Type, Message} ->
  -                    lager:info("~p: => YES!", [?MODULE]),
  +                    replay_debug("~p: => YES!", [?MODULE]),
                       true;
                   _ ->
                       %% But, does the message actually exist in the trace?
                       case lists:member({Type, Message}, PreviousTrace) of 
                           true ->
  -                            lager:info("~p: => NO, waiting for message: ~p: ~p", [?MODULE, NextType, NextMessage]),
  +                            replay_debug("~p: => NO, waiting for message: ~p: ~p", [?MODULE, NextType, NextMessage]),
                               false;
                           false ->
                               %% new messages in the middle of the trace.
                               %% this *should* be the common case if we shrink from the start of the trace forward (foldl)
                               case Shrinking of 
                                   true ->
  -                                    lager:info("~p: => CONDITIONAL YES, message doesn't exist in previous trace, but shrinking: ~p ~p", [?MODULE, Type, Message]),
  +                                    replay_debug("~p: => CONDITIONAL YES, message doesn't exist in previous trace, but shrinking: ~p ~p", [?MODULE, Type, Message]),
                                       true;
                                   false ->
  -                                    lager:info("~p: => NO, waiting for message: ~p: ~p", [?MODULE, NextType, NextMessage]),
  +                                    replay_debug("~p: => NO, waiting for message: ~p: ~p", [?MODULE, NextType, NextMessage]),
                                       false
                               end
                       end
               end,
   
  -            lager:info("~p: can deliver: ~p blocked processes: ~p", [?MODULE, CanDeliver, BlockedProcesses]),
  +            replay_debug("~p: can deliver: ~p blocked processes: ~p", [?MODULE, CanDeliver, BlockedProcesses]),
   
               CanDeliver;
           [] ->
  
positive.code:                 shrinking=false,
                  blocked_processes=[],
                  identifier=undefined}).
  
  %%%===================================================================
  %%% API
  
negative.code: 
                  {NewNumDelivered, RestOfTrace, NewBlockedProcesses};
              false ->
                  replay_debug("~p: pid ~p CANNOT be unblocked yet, unmet dependencies!", [?MODULE, Pid]),
  
                  {NumDelivered1, Trace1, BlockedProcesses1}
          end
  