anchor.diff:  
   expr(X = {'fun',_LINE,{function,_Name,_Arity}}, _S) ->
       X;
  -expr({'fun',LINE,{function,Module,Name,Arity}}, _S) ->
  -    {'fun',LINE,{function,Module,Name,Arity}};
  +expr({'fun',LINE,{function,Module,Name,Arity}}, S) ->
  +    {'fun',LINE,{function,?expr(Module),?expr(Name),?expr(Arity)}};
   
   expr({'fun',LINE,{clauses,L}}, S) ->
       {'fun',LINE,{clauses,?clause_list(L)}};
  +
  +expr({named_fun,LINE,Name,L}, S) ->
  +    {named_fun,LINE,Name,?clause_list(L)};
   
   % If E is E_0.Field, a Mnesia record access inside a query
   expr({record_field,LINE,E_0,Field}, S) ->
  
positive.code:     {record_field,LINE,F,?expr(E)}.
  
  
  bin({bin_element,LINE,P,Size,TSL}, S) ->
      {bin_element,LINE,?expr(P),Size,TSL}.
  
  
negative.code: -define(expr_list(X), expr_list(X, S)).
  -define(clause_list(X), clause_list(X, S)).
  -define(field_list(X), field_list(X, S)).
  -define(map_field_list(X), map_field_list(X, S)).
  -define(gen_list(X), gen_list(X, S)).
  -define(bin_list(X), bin_list(X, S)).
  
  