anchor.diff:      end,
       check_macros_records(FunDefs, CurModInfo, TargetModInfo, CheckCond).
   
  +-spec(check_macros_records/4::(FunDefs::[any()], #modinfo{}, #modinfo{}, boolean()) ->
  +                                   {[atom()], [atom()]}).
   check_macros_records(FunDefs, CurModInfo, TargetModInfo, CheckCond) ->
  -    CurRecordDefs=CurModInfo#module_info.record_defs,
  -    TargetRecordDefs=TargetModInfo#module_info.record_defs,
  +    CurRecordDefs=CurModInfo#modinfo.record_defs,
  +    TargetRecordDefs=TargetModInfo#modinfo.record_defs,
       UnDefinedRecords = check_records(FunDefs, CurRecordDefs, TargetRecordDefs, CheckCond),
  -    CurMacroDefs=CurModInfo#module_info.macro_defs,
  -    TargetMacroDefs=TargetModInfo#module_info.macro_defs,
  +    CurMacroDefs=CurModInfo#modinfo.macro_defs,
  +    TargetMacroDefs=TargetModInfo#modinfo.macro_defs,
       UnDefinedMacros = check_macros(FunDefs,CurMacroDefs, TargetMacroDefs, CheckCond),
       {UnDefinedMacros, UnDefinedRecords}.
   
   
   check_fun_name_clash(FunDefs=[{{ModName, _, _},_}|_T],TargetModInfo)->
  -    TargetInscopeFuns=TargetModInfo#module_info.inscope_funs,
  -    TargetForms=wrangler_syntax:form_list_elements(TargetModInfo#module_info.ast),
  +    TargetInscopeFuns=TargetModInfo#modinfo.inscope_funs,
  +    TargetForms=wrangler_syntax:form_list_elements(TargetModInfo#modinfo.ast),
       FAs = [{F, A}||{{_M, F, A},_}<-FunDefs],
       Clash = lists:filter(fun ({M, F, A}) ->
   				 lists:member({F,A}, FAs) andalso ModName =/= M
  
positive.code: do_transformation(CurModInfo, TargetModInfo, MFAs, {UnDefinedMs, UnDefinedRs},
  		  FunsToExportInCurMod, FunsToExportInTargetMod, Pid,
  		  SearchPaths, TabWidth)->
      FileName=CurModInfo#module_info.filename,
      Forms = wrangler_syntax:form_list_elements(CurModInfo#module_info.ast),
      AttrsToAdd = get_attrs(Forms, UnDefinedMs, UnDefinedRs, TargetModInfo#module_info.includes),
      GroupedForms = group_forms(Forms),
      %% FormsToBeMoved = [F || F <- Forms, defines(F, MFAs) orelse type_specifies(F, MFAs)],
      FormsToBeMoved=lists:append([Fs||Fs<-GroupedForms, one_of_defines(Fs, MFAs) orelse
  					 one_of_type_specifies(Fs, MFAs)]),
      TargetModName=TargetModInfo#module_info.modname,
      InScopeFunsInTargetMod = TargetModInfo#module_info.inscope_funs,
      Args={FileName,MFAs, TargetModName,InScopeFunsInTargetMod, SearchPaths, TabWidth, Pid},
      FormsToBeMoved1 = transform_forms_to_be_moved(FormsToBeMoved, Args), 
      Args1={FileName, MFAs, FunsToExportInCurMod,TargetModName, SearchPaths, TabWidth, Pid},
  
negative.code:     end.
       
  check_dependent_funs(MFAs=[{ModName,_,_}|_T], FunDefs, CurModInfo, TargetModInfo, CG) ->
      TargetInScopeFuns = TargetModInfo#modinfo.inscope_funs,
      FAs = [{F, A}||{_M, F, A}<-MFAs],
      Clash = [{ModName, F, A}||{_M,F,A}<-TargetInScopeFuns, 
                                lists:member({F,A}, FAs)],
  