anchor.diff:      ClauseList1=filter_equimatchable_clauses(ClauseList),
       ReteTotal=
           lists:foldl(
  -          fun(Clause, Rete) ->
  +          fun(#clause{args=[#var{}|_]}, Rete) ->
  +                  Rete;
  +             (Clause, Rete) ->
                     merge(clause_to_rete(Clause), Rete)
             end, #rete{}, ClauseList1),
       {make_alpha_layer(ReteTotal), make_beta_layer(ReteTotal), ReteTotal}.
  
positive.code: 
  -spec merge(#rete{}, #rete{}) -> #rete{} .
  
  merge(#rete{}=Path,
        #rete{bnodes=[],anodes=[]}=Tree) ->
      merge(Path,Tree#rete{bnodes=[make_terminal_bnode()]});
  
negative.code:         {#var{}, #cons{}} -> Cons=R
      end,
      clause_to_rete(C#clause{args=[Cons, _LastWMO, _StateForm]});
  clause_to_rete(#clause{args=[#cons{}=ConsForm, _LastWMO, _StateForm],guards=Guards}) ->
      % Create a build fun at the beginning to avoid unwanted occasional clash with local variables
      BuildFun=fun(AlphaForm, {#rete{anodes=ANodes,
                                     bnodes=[#bnode{bnode_ids=BIds}=BNode|Tail]}, 
  