anchor.diff:      Fun = fun ('to-split') -> to_split;
                 ('to-expmac') -> to_expmac;
                 ('to-expand') -> to_expand;
  -              ('to-exp') -> to_exp;             %Backwards compatibility
                 ('to-pmod') -> to_pmod;
                 ('to-lint') -> to_lint;
                 ('no-docs') -> no_docs;
  
positive.code:      %% Now we expand and trim remaining macros.
       {do,fun do_expand_macros/1},
       {when_flag,to_expand,{done,fun expand_pp/1}},
       {when_flag,to_exp,{done,fun expand_pp/1}}, %Backwards compatibility
       {do,fun do_lfe_pmod/1},
       {when_flag,to_pmod,{done,fun pmod_pp/1}},
       {do,fun do_lfe_lint/1},
  
negative.code:      {when_flag,to_core,{done,fun erl_core_pp/1}},
       {when_flag,to_kernel,{done,fun erl_kernel_pp/1}},
       {when_flag,to_asm,{done,fun erl_asm_pp/1}},
       %% Stop at non-binary returns, either return or drop.
       {unless_test,fun is_binary_module/1,done},
       %% Now we just write the beam file unless warnings-as-errors is
       %% set and we have warnings.
       {when_test,fun is_werror/1,error},
       %% Write docs beam chunks.
       {do,fun add_chunks/1},
       {done,fun beam_write/1}                    %Should be last
      ].
  
  