anchor.diff:  assert_no_underscore_clause_in_cond([{do, Clauses}], E) ->
     case lists:last(Clauses) of
       {'->', Meta, [[{'_', _, Atom}], _]} when is_atom(Atom) ->
  -      Message = "unbound variable _ inside cond. If you want the last clause to always match, "
  -                "you probably meant to use: true ->",
  -      compile_error(Meta, ?m(E, file), Message);
  +      form_error(Meta, ?m(E, file), ?MODULE, underscore_in_cond);
       _Other ->
         ok
     end;
   assert_no_underscore_clause_in_cond(_Other, _E) ->
     ok.
   
  +%% Warnings.
   format_error({useless_literal, Term}) ->
     io_lib:format("code block contains unused literal ~ts "
                   "(remove the literal or assign it to _ to avoid warnings)",
  
positive.code: %% Invalid calls
  
  expand({_, Meta, Args} = Invalid, E) when is_list(Meta) and is_list(Args) ->
    compile_error(Meta, ?m(E, file), "invalid call ~ts",
      ['Elixir.Macro':to_string(Invalid)]);
  
  expand({_, _, _} = Tuple, E) ->
    compile_error([{line, 0}], ?m(E, file), "invalid quoted expression: ~ts",
      ['Elixir.Kernel':inspect(Tuple, [])]);
  
  %% Literals
  
  
negative.code:       elixir_aliases:ensure_loaded(Meta, ERef, ET),
        {ERef, expand_require(Meta, ERef, EKV, ET)};
      true ->
        form_error(Meta, ?m(E, file), ?MODULE, {expected_compile_time_module, require, Ref})
    end;
  
  expand({import, Meta, [Left]}, E) ->
  