anchor.diff:                      [erl_syntax:abstract(Arg) || Arg <- Args],
                       none, [erl_syntax:abstract(Val)])
                   ||
  -                {Args, Val} <- ArgsValues
  +                {Args, Val} <- ArgsValues, length(Args)==Arity
               ]
               ++
               case Default of
                   none ->
                       [];
                   _ ->
  -                    [{Args0, _}|_] = ArgsValues,
                       [
                           erl_syntax:clause(
  -                            [erl_syntax:variable('_') || _ <- Args0],
  +                            [erl_syntax:variable('_') || _ <- lists:seq(1,Arity)],
                               none, [erl_syntax:abstract(Default)])
                       ]
               end)
  
positive.code: 
  
  %% @doc Generates a getter function (fun(X, Y, Z) -> Value; fun(_, _, _) -> Default
  -spec getter_args(atom(), [{[term()], term()}], term()) ->
      erl_syntax:syntaxTree().
  
  getter_args(Fun, ArgsValues, Default) ->
      try
          erl_syntax:function(
              erl_syntax:atom(Fun),
  
negative.code: -module(nklib_code).
  -author('Carlos Gonzalez <carlosj.gf@gmail.com>').
  
  -export([expression/1, getter/2, getter_args/4, fun_expr/4, call_expr/4, callback_expr/3]).
  -export([case_expr/5, case_expr_ok/5, compile/2, write/3]).
  -export([get_funs/1]).
  
  