anchor.diff:        Options :: [compile:option()],
         Result :: {ok, beam_ssa:b_module(), list()}.
   
  -module(#b_module{}=Mod0, Opts) ->
  -    %% Builds a module-wide graph of all blocks (including calls between
  -    %% functions), and collects all suitable reference creations and receives
  -    %% for later analysis.
  -    Scan = scan(Mod0),
  -
  -    %% Figures out where to place marker creation, usage, and clearing by
  +module(#b_module{}=Mod, Opts) ->
  +    %% Quickly collect all peek_message instructions in this module,
  +    %% allowing us to avoid the expensive building of the module-wide
  +    %% graph of all blocks if there are no receives in this module.
  +    case scan_peek_message(Mod) of
  +        [] ->
  +            %% No receives in this module. Nothing more to do.
  +            {ok, Mod, []};
  +        [_ | _]=Rs0 ->
  +            Rs = maps:from_list(Rs0),
  +            module_1(Mod, Rs, Opts)
  +    end.
  +
  +module_1(Mod0, Rs, Opts) ->
  +    %% There are some receives in this module. Build a module-wide
  +    %% graph of all blocks (including calls between functions) and
  +    %% collect all suitable reference creations for later analysis.
  +    Scan0 = scan(Mod0),
  +    Scan = Scan0#scan{recv_candidates=Rs},
  +
  +    %% Figure out where to place marker creation, usage, and clearing by
       %% walking through the module-wide graph.
       {Markers, Uses, Clears} = plan(Scan),
   
  
positive.code:          end,
  
      {ok, Mod, Ws}.
  
  scan(#b_module{body=Fs0}) ->
      ModMap = foldl(fun(#b_function{bs=Blocks,args=Args}=F, Acc) ->
  
negative.code: scan_bs([], _Blocks, _FuncId, State) ->
      State.
  
  scan_is([#b_set{op={succeeded,body}}], Blk, Lbl, _Blocks, FuncId, State) ->
      #b_br{bool=#b_var{},succ=Succ} = Blk#b_blk.last, %Assertion.
  
  