anchor.diff:  
   format_var(Var) ->
     lists:takewhile(fun(X) -> X /= $@ end, atom_to_list(Var)).
  -
  -%% TODO: Remove this clause when we depend only on Erlang 19.
  -format_error(erl_lint, {bittype_mismatch, Val1, Val2, Kind}) ->
  -  Desc = "conflict in ~s specification for bit field: \"~p\" and \"~p\"",
  -  io_lib:format(Desc, [Kind, Val1, Val2]);
  -
  -format_error([], Desc) ->
  -  io_lib:format("~p", [Desc]);
  -
  -format_error(Module, Desc) ->
  -  Module:format_error(Desc).
   
   protocol_or_behaviour(Module) ->
     case is_protocol(Module) of
  
positive.code:     [H | _] when is_binary(H) -> <<$", H/binary, $">>;
      _ -> <<$">>
    end,
    do_raise(Line, File, 'Elixir.SyntaxError', <<Error/binary, Term/binary>>);
  
  %% Given a string prefix and suffix to insert the token inside the error message rather than append it
  parse_error(Line, File, {ErrorPrefix, ErrorSuffix}, Token) when is_binary(ErrorPrefix), is_binary(ErrorSuffix), is_binary(Token) ->
    Message = <<ErrorPrefix/binary, Token/binary, ErrorSuffix/binary >>,
    do_raise(Line, File, 'Elixir.SyntaxError', Message);
  
  %% Misplaced char tokens (e.g., {char, _, 97}) are translated by Erlang into
  %% the char literal (i.e., the token in the previous example becomes $a),
  
negative.code: 
    Kind    = protocol_or_behaviour(Module),
    Raw     = "undefined ~ts ~ts ~ts/~B (for ~ts ~ts)",
    io_lib:format(Raw, [Kind, DefKind, Def, DefArity, Kind, elixir_aliases:inspect(Module)]);
  
  %% Rewrite nomatch_guard to be more generic it can happen inside if, unless, etc
  format_error(sys_core_fold, nomatch_guard) ->
    "this check/guard will always yield the same result";
  
  %% Properly format other unused vars
  format_error(erl_lint, {unused_var, Var}) ->
    ["variable \"", format_var(Var), "\" is unused"];
  
  %% Handle literal eval failures
  format_error(sys_core_fold, {eval_failure, Error}) ->
    #{'__struct__' := Struct} = 'Elixir.Exception':normalize(error, Error),
    ["this expression will fail with ", elixir_aliases:inspect(Struct)];
  
  format_error([], Desc) ->
    io_lib:format("~p", [Desc]);
  
  format_error(Module, Desc) ->
    Module:format_error(Desc).
  
  %% Helpers
  
  file_format(0, File) ->
    io_lib:format("~ts", [elixir_utils:relative_to_cwd(File)]);
  