anchor.diff:  
   include(T, _) ->
       [T].
  +
  +%% Extract abstract code.
   
   abstract_code(Beam) ->
       case beam_lib:chunks(Beam, [abstract_code]) of
  
positive.code:     [?VERSION | ParseD];
  
  gen(forms, ParseD, Mod) ->
      pp(erl_forms(Mod, ParseD));
  
  gen(hrl, ParseD, Mod) ->
      gen_hrl(Mod, ParseD);
  
negative.code:     Prefix ++ Name.
  
  %% ===========================================================================
  %% preprocess/2
  %%
  %% Preprocess forms as generated by 'forms' option. In particular,
  %% replace the include_lib attributes in generated forms by the
  %% corresponding forms, extracting the latter from an existing
  %% dictionary (diameter_gen_relay). The resulting forms can be
  %% compiled to beam using compile:forms/2 (which does no preprocessing
  %% of it's own; DiY currently appears to be the only way to preprocess
  %% a forms list).
  
  preprocess(Mod, Forms) ->
      {_, Beam, _} = code:get_object_code(diameter_gen_relay),
      pp(Forms, remod(Mod, abstract_code(Beam))).
  
  pp(Forms, {ok, Code}) ->
      Files = files(Code, []),
  