anchor.diff:  is_fa_list([]) -> true;
   is_fa_list(_) -> false.
   
  -module_predef_funcs(St) ->
  -    {Mpf1,St1}=module_predef_func_beh_info(St),
  -    {Mpf2,St2}=module_predef_funcs_mod_info(St1),
  +module_predef_funcs(St0) ->
  +    {Mpf1,St1} = module_predef_func_beh_info(St0),
  +    Mpf2 = module_predef_funcs_mod_info(St1),
       Mpf = [erl_parse:new_anno(F) || F <- Mpf1++Mpf2],
  -    {Mpf,St2}.
  +    {Mpf,St1}.
   
   module_predef_func_beh_info(#expand{callbacks=[]}=St) ->
       {[], St};
   module_predef_func_beh_info(#expand{callbacks=Callbacks,
                                       optional_callbacks=OptionalCallbacks,
  -                                    defined=Defined,
   				    exports=Exports}=St) ->
  -    PreDef=[{behaviour_info,1}],
  -    PreExp=PreDef,
  +    PreDef0 = [{behaviour_info,1}],
  +    PreDef = ordsets:from_list(PreDef0),
       {[gen_beh_info(Callbacks, OptionalCallbacks)],
  -     St#expand{defined=gb_sets:union(gb_sets:from_list(PreDef), Defined),
  -	       exports=ordsets:union(ordsets:from_list(PreExp), Exports)}}.
  +     St#expand{exports=ordsets:union(PreDef, Exports)}}.
   
   gen_beh_info(Callbacks, OptionalCallbacks) ->
       List = make_list(Callbacks),
  
positive.code:        {integer,0,Arity}]},
       make_optional_list(Rest)}.
  
  module_predef_funcs_mod_info(St) ->
      PreDef = [{module_info,0},{module_info,1}],
      PreExp = PreDef,
      {[{function,0,module_info,0,
         [{clause,0,[],[],
          [{call,0,{remote,0,{atom,0,erlang},{atom,0,get_module_info}},
            [{atom,0,St#expand.module}]}]}]},
        {function,0,module_info,1,
         [{clause,0,[{var,0,'X'}],[],
          [{call,0,{remote,0,{atom,0,erlang},{atom,0,get_module_info}},
            [{atom,0,St#expand.module},{var,0,'X'}]}]}]}],
       St#expand{defined=gb_sets:union(gb_sets:from_list(PreDef),
  				     St#expand.defined),
                 exports=ordsets:union(ordsets:from_list(PreExp),
  				     St#expand.exports)}}.
  
  %% forms(Forms, State) ->
  %%      {TransformedForms,State'}
  
negative.code: expr({call,Line,{atom,La,N}=Atom,As0}, St0) ->
      {As,St1} = expr_list(As0, St0),
      Ar = length(As),
      Key = {N,Ar},
      case St1#expand.ctype of
  	#{Key:=local} ->
  	    {{call,Line,Atom,As},St1};
  	#{Key:={imported,Mod}} ->
  	    {{call,Line,{remote,La,{atom,La,Mod},Atom},As},St1};
  	_ ->
  	    true = erl_internal:bif(N, Ar),
  	    {{call,Line,{remote,La,{atom,La,erlang},Atom},As},St1}
      end;
  expr({call,Line,{remote,Lr,M0,F},As0}, St0) ->
      {[M1,F1|As1],St1} = expr_list([M0,F|As0], St0),
  