anchor.diff:  -export([init/0]).
   
   init() ->
  -  define_var('*', fun '*'/1), % varargs
  -  define_var('+', fun '+'/1), % varargs
  +  define_var('*', fun '*'/2),
  +  define_var('+', fun '+'/2),
     define_var('eq?', fun 'eq?'/2),
     define_var('memq', fun 'memq'/2),
     define_var('symbol?', fun 'symbol?'/1),
  
positive.code: 
  get_onearg({?argv, _L}) -> error(badarity);
  get_onearg(X) -> X.
  
  get_varargs({?argv, L}) -> L;
  get_varargs(X) -> [X].
  
negative.code: define_var(Name, Fun) ->
    es_gloenv:enter_var(Name, Fun).
  
  '*'(X, Y) -> X * Y.
  
  '+'(X, Y) -> X + Y.
  
  'eq?'(X, Y) -> X =:= Y.
  
  