anchor.diff:    | AllItems
     ] = clj_rt:to_list(List),
   
  -  AmpersandSym   = clj_rt:symbol(<<"&">>),
  -  IsNotAmpersand = fun(X) -> not clj_rt:equiv(AmpersandSym, X) end,
  -  {Items, Tails} = lists:splitwith(IsNotAmpersand, AllItems),
  +  {Items, Tails} = lists:splitwith(fun is_not_ampersand/1, AllItems),
   
     clj_utils:error_when( length(Tails) > 0 andalso length(Tails) =/= 2
                         , [<<"There has to be one expression after &, got ">>
  
positive.code:   Env8  = clj_env:remove_locals_scope(Env7),
    Env9  = clj_env:pop(Env8),
    clj_env:push_expr(FnMethodExpr, Env9).
  
  -spec analyze_method_params(['clojerl.Symbol':type()], clj_env:env()) ->
    clj_env:env().
  
negative.code:   {map() | ?NO_TAG, clj_env:env()}.
  signature_tag(ArgCount, Default, Var, Env) ->
    ArgLists = clj_rt:to_list(clj_rt:get(clj_rt:meta(Var), arglists)),
    Fun = fun(ArgList) ->
              ArgsOnly = lists:filter( fun is_not_ampersand/1
                                     , clj_rt:to_list(ArgList)
                                     ),
              clj_rt:count(ArgsOnly) =:= ArgCount
          end,
    case lists:filter(Fun, ArgLists) of
  