anchor.diff:  
   %% Return the form with exports and function declarations.
   
  -functions_form(Line, Filename, Module) ->
  +functions_form(Line, Filename, Module, C) ->
     { Export, Private, Macros, Functions } = elixir_def:unwrap_stored_definitions(Module),
   
     { FinalExport, FinalFunctions } =
  -    add_info_function(Line, Filename, Module, Export, Functions, Macros),
  +    add_info_function(Line, Filename, Module, Export, Functions, Macros, C),
   
     { FinalExport ++ Private, [
       {attribute, Line, export, lists:sort(FinalExport)} | FinalFunctions
  
positive.code: 
  % EXTRA FUNCTIONS
  
  add_info_function(Line, Filename, Module, Export, Functions, Macros) ->
    Pair = { '__info__', 1 },
    case lists:member(Pair, Export) of
      true  -> elixir_errors:form_error(Line, Filename, ?MODULE, {internal_function_overridden, Pair});
  
negative.code: 
  compile(Line, Module, Block, RawS) when is_atom(Module) ->
    S = elixir_variables:deserialize_scope(RawS),
    C = S#elixir_scope.compile,
    Filename = S#elixir_scope.filename,
  
    check_module_availability(Line, Filename, Module, S#elixir_scope.compile),
    build(Module),
  
    try
      Result           = eval_form(Line, Filename, Module, Block, S),
      { Funs, Forms0 } = functions_form(Line, Filename, Module, C),
      Forms1           = attributes_form(Line, Filename, Module, Forms0),
  
      elixir_import:ensure_no_local_conflict(Line, Filename, Module, Funs),
  