anchor.diff:        Contents = { function, Line, '__info__', 1, [
           macros_clause(Line, Macros),
           data_clause(Line, Module),
  +        docs_clause(Line, Module, C),
  +        moduledoc_clause(Line, Module, C),
           else_clause(Line)
         ] },
         { [Pair|Export], [Contents|Functions] }
  
positive.code: 
  compile(Line, Module, Block, RawS) when is_atom(Module) ->
    S = elixir_variables:deserialize_scope(RawS),
    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),
      Forms1           = attributes_form(Line, Filename, Module, Forms0),
  
      elixir_import:ensure_no_local_conflict(Line, Filename, Module, Funs),
  
negative.code: 
  % EXTRA FUNCTIONS
  
  add_info_function(Line, Filename, Module, Export, Functions, Macros, C) ->
    Pair = { '__info__', 1 },
    case lists:member(Pair, Export) of
      true  -> elixir_errors:form_error(Line, Filename, ?MODULE, {internal_function_overridden, Pair});
  