anchor.diff:                      ok = file:close(TraceIo),
   
                       ClassificationsExplored = ClassificationsExplored0 ++ [Classification],
  -                    io:format("=> Classification for this test: ~p~n", [Classification]),
  -
  -                    MessageTypes = message_types(TraceLines),
  -                    io:format("=> MessageTypes for this test: ~p~n", [MessageTypes]),
  +                    % io:format("=> Classification for this test: ~p~n", [Classification]),
  +
  +                    MessageTypes = message_types(FinalTraceLines),
  +                    % io:format("=> MessageTypes for this test: ~p~n", [MessageTypes]),
  +
  +                    OmissionTypes = message_types(Omissions),
  +                    % io:format("=> OmissionTypes for this test: ~p~n", [OmissionTypes]),
   
                       %% Run the trace.
                       Command = "rm -rf priv/lager; IMPLEMENTATION_MODULE=" ++ os:getenv("IMPLEMENTATION_MODULE") ++ " SHRINKING=true REPLAY=true PRELOAD_OMISSIONS_FILE=" ++ PreloadOmissionFile ++ " REPLAY_TRACE_FILE=" ++ ReplayTraceFile ++ " TRACE_FILE=" ++ TraceFile ++ " ./rebar3 proper --retry | tee /tmp/partisan.output",
  
positive.code:         %% Validate the causality earlier, using a speculative validation to reduce
          %% the cost of schedule materialization.
          CandidateTrace = MessageTraceLines -- Omissions,
          ValidatedCausality = schedule_valid_causality(Causality, CandidateTrace),
          io:format("ValidatedCausality: ~p~n", [ValidatedCausality]),
  
          EarlyClassification0 = classify_schedule(3, Annotations, CandidateTrace),
          EarlyClassification = dict:to_list(EarlyClassification0),
          io:format("EarlyClassification: ~p~n", [EarlyClassification]),
  
          %% Is this schedule valid for these omissions?
          OmissionsSet = sets:from_list(Omissions),
          BaseOmissionsSet = sets:from_list(BaseOmissions),
  
          ValidOmissions = case sets:is_subset(BaseOmissionsSet, OmissionsSet) orelse BaseOmissionsSet =:= OmissionsSet of
              true ->
                  true;
              false ->
                  false
          end,
          io:format("ValidOmissions: ~p~n", [ValidOmissions]),
  
          case ValidOmissions andalso ValidatedCausality andalso not lists:member(EarlyClassification, GenClassificationsExplored0) of
              true ->
                  io:format("Entering generation pass.~n", []),
  
                  %% Generate a new trace.
                  % io:format("Generating new trace based on message omissions (~p omissions, iteration ~p): ~n", [length(Omissions), Iteration]),
  
negative.code:                 end,
  
                  ClassifySchedule = classify_schedule(3, Annotations, PrefixMessageTypes, OmittedMessageTypes, ConditionalMessageTypes),
                  % io:format("Classification: ~p~n", [dict:to_list(ClassifySchedule)]),
  
                  case os:getenv("PRELOAD_SCHEDULES") of 
                      false ->
                          case GenIteration0 rem 10000 == 0 of 
                              true ->
                                  io:format(".", []);
                              false ->
                                  ok
                          end,
  