anchor.diff:    record(Kind, S),
     case S#elixir_scope.function /= [] of
       true ->
  -      elixir_errors:syntax_error(Line, S#elixir_scope.filename, "invalid function scope for: ", atom_to_list(Kind));
  +      syntax_error(Line, S#elixir_scope.filename, "invalid function scope for: ", atom_to_list(Kind));
       _ ->
         { elixir_def:wrap_definition(Kind, Line, Call, Expr, S), S }
     end;
  
positive.code:   { { tuple, Line, [{ atom, Line, Name }, { integer, Line, length(Args) }] }, S };
  
  translate_macro({Kind, Line, Args}, S) when is_list(Args), Kind == def; Kind == defmacro; Kind == defp ->
    elixir_errors:syntax_error(Line, S#elixir_scope.filename, "invalid args for: ", atom_to_list(Kind));
  
  %% Functions
  
  
negative.code:     { [], [KV] } when is_list(KV) ->
        elixir_kv_block:decouple(orddict:erase(do, KV));
      _ ->
        syntax_error(Line, S#elixir_scope.filename, "no block given for: ", "fn")
    end,
  
    Transformer = fun({ match, ArgsWithGuards, Expr }, Acc) ->
  