anchor.diff:              {FilteredTraceLines, FinalPowerset};
           false ->
               %% Generate all.
  -            FilteredTraceLines = filter_trace_lines(TraceLines, BackgroundAnnotations),
  +            FilteredTraceLines = filter_trace_lines(implementation_module(), TraceLines, BackgroundAnnotations),
               io:format("Beginning powerset generation, length(FilteredTraceLines): ~p~n", [length(FilteredTraceLines)]),
  -            {Time, L} = timer:tc(fun() -> powerset(FilteredTraceLines) end),
  -            io:format("Number of message sets in powerset: ~p~n", [length(L)]),
  +            {Time, FinalPowerset} = timer:tc(fun() -> powerset(FilteredTraceLines) end),
  +            io:format("Number of message sets in powerset: ~p~n", [length(FinalPowerset)]),
               io:format("Powerset generation took: ~p~n", [Time]),
  -            {FilteredTraceLines, L}
  +            {FilteredTraceLines, FinalPowerset}
       end,
   
       TracesToIterate = case os:getenv("SUBLIST") of 
  
positive.code:             io:format("Using difference types for powerset generation: ~p~n", [DifferenceTypes]),
  
              %% Use message trace.
              FilteredTraceLines = filter_trace_lines(TraceLines, BackgroundAnnotations),
  
              %% Generate powerset using *only* the new messages.
              FilteredDifferenceTraceLines = filter_trace_lines(DifferenceTraceLines, BackgroundAnnotations),
              {Time, L} = timer:tc(fun() -> powerset(FilteredDifferenceTraceLines) end),
  
              % io:format("FilteredDifferenceTraceLines: ~p~n", [FilteredDifferenceTraceLines]),
  
negative.code: 
      ok.
  
  filter_trace_lines(_, TraceLines, BackgroundAnnotations) ->
      %% Filter the trace into message trace lines.
      MessageTraceLines = lists:filter(fun({Type, Message}) ->
          case Type =:= pre_interposition_fun of 
  