anchor.diff:  %% contexts to us.
   
   allow_context_passthrough({Fs, ModInfo0}) ->
  -    ModInfo =
  -        acp_forward_params([{F, beam_ssa:uses(F#b_function.bs)} || F <- Fs],
  -                           ModInfo0),
  +    FsUses = [{F, beam_ssa:uses(F#b_function.bs)} || F <- Fs],
  +    ModInfo = acp_forward_params(FsUses, ModInfo0),
       {Fs, ModInfo}.
   
   acp_forward_params(FsUses, ModInfo0) ->
  
positive.code:               renames = #{} :: beam_ssa:rename_map() }).
  
  combine_matches({Fs0, ModInfo}) ->
      Fs = map(fun(F) -> combine_matches(F, ModInfo) end, Fs0),
      {Fs, ModInfo}.
  
  combine_matches(#b_function{bs=Blocks0,cnt=Counter0}=F, ModInfo) ->
  
negative.code: -include("beam_ssa.hrl").
  -include("beam_types.hrl").
  
  -import(lists, [member/2, reverse/1, reverse/2, splitwith/2, foldl/3,
                  mapfoldl/3, nth/2, max/1, unzip/1]).
  
  -spec format_error(term()) -> nonempty_string().
  