anchor.diff:      false -> 'Elixir.Module':get_attribute(Module, file)
     end.
   
  -normalize_location(X) ->
  -  elixir_utils:characters_to_list(elixir_utils:relative_to_cwd(X)).
  +normalize_location(File) ->
  +  elixir_utils:characters_to_list(elixir_utils:relative_to_cwd(File)).
   
   %% Compile super
   
  
positive.code: make_struct_available(_, _, _, _) ->
    ok.
  
  %% Retrieve location from meta file or @file, otherwise nil
  
  retrieve_location(Line, File, Module) ->
    case get_location_attribute(Module) of
      nil when not is_binary(File) ->
        nil;
      nil ->
        {normalize_location(File), Line};
      X when is_binary(X) ->
        'Elixir.Module':delete_attribute(Module, file),
        {normalize_location(X), 0};
      {X, L} when is_binary(X) andalso is_integer(L) ->
        'Elixir.Module':delete_attribute(Module, file),
        {normalize_location(X), L}
    end.
  
  get_location_attribute(Module) ->
  
negative.code: 
    assert_no_aliases_name(Line, Name, Args, E),
    store_definition(Line, Kind, DoCheckClauses, Name,
                     LinifyArgs, LinifyGuards, LinifyBody, Location, E).
  
  store_definition(Line, Kind, CheckClauses, Name, Args, Guards, Body, KeepLocation, #{module := Module} = ER) ->
    Arity = length(Args),
    Tuple = {Name, Arity},
    E = ER#{function := Tuple},
    elixir_locals:record_definition(Tuple, Kind, Module),
  
    Location = retrieve_location(KeepLocation, Module),
    {Function, Defaults, Super} = translate_definition(Kind, Line, Module, Name, Args, Guards, Body, E),
  
    DefaultsLength = length(Defaults),
  