anchor.diff:  % This one detects that a list constructor ends with a tail binding
   recurse_var_assignments(ConsCount, {c_cons, _, A, B={c_var, _, Name}}, V, _) ->
       lists:append(
  -        recurse_var_assignments(0, A, estree:member_expression(V, estree:literal(ConsCount), true), false),
  +        recurse_var_assignments(0, A, estree:member_expression(V, estree:literal(ConsCount), true),
  +            false),
           recurse_var_assignments(ConsCount+1, B, V, isTail)
       );
   recurse_var_assignments(ConsCount, {c_cons, _, A, B}, V, _) ->
       lists:append(
  -        recurse_var_assignments(0, A, estree:member_expression(V, estree:literal(ConsCount), true), false),
  +        recurse_var_assignments(0, A, estree:member_expression(V, estree:literal(ConsCount), true),
  +            false),
           recurse_var_assignments(ConsCount+1, B, V, false)
       );
   recurse_var_assignments(_ConsCount, _, _V, _) ->
  
positive.code:                     ),
                      lists:append(MatchL,[
                          estree:call_expression(
                              estree:member_expression(parse_node(noreturn,Params,V),estree:identifier(<<"match">>),false),
                              [parse_node(noreturn,Params,M)]
                          )
                      ]),
                      lists:append(DefL2, lists:append(
                          recurse_var_assignments(M, estree:identifier(atom_to_binary(ParamName, utf8))),
                          [
                              estree:assignment_expression(
                                  <<"=">>,
  
negative.code:             estree:call_expression(
                  estree:member_expression(V, estree:identifier(<<"slice">>), false),
                  [   estree:literal(ConsCount),
                      estree:call_expression(
                          estree:member_expression(V, estree:identifier(<<"size">>), false),
                          []
                      )
                  ]
              )
          )
  