anchor.diff:  ensure_no_special_form_conflict(Meta, File, Key, [{Name, Arity} | T]) ->
     case special_form(Name, Arity) of
       true  ->
  -      Tuple = {special_form_conflict, {Key, Name, Arity}},
  -      elixir_errors:form_error(Meta, File, ?MODULE, Tuple);
  +      elixir_errors:form_error(Meta, File, ?MODULE, {special_form_conflict, {Key, Name, Arity}});
       false ->
         ensure_no_special_form_conflict(Meta, File, Key, T)
     end;
  
positive.code:         false ->
            ok;
          _ ->
            elixir_errors:compile_error(Meta, File,
              ":only and :except can only be given together to import"
              " when :only is either :functions or :macros")
        end,
        case Only -- get_exports(Key) of
          [{Name, Arity} | _] ->
            Tuple = {invalid_import, {Key, Name, Arity}},
            elixir_errors:form_error(Meta, File, ?MODULE, Tuple);
          _ ->
            intersection(Only, Existing())
        end;
  
negative.code:   ensure_keyword_list(Meta, File, Rest, Kind);
  
  ensure_keyword_list(Meta, File, _Other, Kind) ->
    elixir_errors:form_error(Meta, File, ?MODULE, {invalid_option, Kind}).
  
  %% ERROR HANDLING
  
  format_error(only_and_except_given) ->
    ":only and :except can only be given together to import "
    "when :only is either :functions or :macros";
  
  format_error({invalid_import, {Receiver, Name, Arity}}) ->
    io_lib:format("cannot import ~ts.~ts/~B because it is undefined or private",
      [elixir_aliases:inspect(Receiver), Name, Arity]);
  
  format_error({invalid_option, Option}) ->
    Message = "invalid :~s option for import, expected a keyword list with integer values",
    io_lib:format(Message, [Option]);
  
  format_error({special_form_conflict, {Receiver, Name, Arity}}) ->
    io_lib:format("cannot import ~ts.~ts/~B because it conflicts with Elixir special forms",
  