anchor.diff:      {Base, Export, Private, Def, Defmacro, Functions} = elixir_def:unwrap_definitions(Module),
   
       {All, Forms0} = functions_form(Line, File, Module, Base, Export, Def, Defmacro, Functions),
  -    Forms1          = specs_form(Module, Private, Defmacro, Forms0),
  -    Forms2          = attributes_form(Line, File, Module, Forms1),
  -    Forms3          = typedocs_form(Module, Forms2),
  +    Forms1        = specs_form(Module, Private, Defmacro, Forms0),
  +    Forms2        = attributes_form(Line, File, Module, Forms1),
  +    Forms3        = typedocs_form(Module, Forms2),
   
       case ets:lookup(data_table(Module), 'on_load') of
         [] -> ok;
  
positive.code: 
    OldTable = ets:info(DataTable, name),
    case OldTable == DataTable of
      true  -> [{file, OldFile}, {line, OldLine}] = ets:lookup_element(OldTable, location, 2),
               elixir_errors:form_error(Line, File, ?MODULE,
                                        {
                                          module_in_definition,
                                          Module,
                                          OldFile,
                                          OldLine
                                        });
      false -> []
    end,
  
    ets:new(DataTable, [set, named_table, public]),
  
negative.code:   ets:insert(DataTable, {?docs_attr, ets:new(DataTable, [ordered_set, public])}),
    ets:insert(DataTable, {?lexical_attr, Lexical}),
    ets:insert(DataTable, {?overridable_attr, []}),
    ets:insert(DataTable, {?location_attr, [{File, Line}]}),
  
    %% Setup other modules
    elixir_def:setup(Module),
  