anchor.diff:    ok.
   
   b_abs_nested_in_wheredim_does_not_cause_wrong_substitution() ->
  -  %% TODO: parser for sequence of abstractions and applications
  +  %% HACK: Get the b_abs node without the wherevar
     BAbsT0 = abs_from_string("fun F.t = t + #.t"),
  +  %% Create an AST as if it were generated by transformation 0
     T0 = {wheredim, BAbsT0, [{"t",46}]},
     WheredimT = {dim,{[],1},"t"},
     BAbsT = {phi,"t"},
  
positive.code: t1(T) ->
    ttransform1:transform1(T).
  
  abs_from_string(String) ->
    {ok, [FnT]} = tea:string(String),
    {wherevar, FnName, [{FnName, AbsT0}]} = t0(FnT), %% XXX This wherevar in transform1 smells badly
  
negative.code:    %% TODO ?_test(basic_b_apply())
    ].
  
  %% TODO: integration with parser for sequence of function declarations and calls
  
  basic_b_abs() ->
    {ok, [FnT]} = tea:string("fun F.argAsVarId = argAsVarId"),
    ?assertEqual({fn, "F", [{b_param,"argAsVarId"}], "argAsVarId"},
                 FnT),
    %% XXX Transform 0 at the moment converts a "fn" node to a
    %% "wherevar" with "b_abs". The wherevar is probably wrong and will
    %% therefore probably be removed in the future. Focussing the test
    %% only on the b_abs piece of the generated AST.
    {wherevar, "F", [{"F", BAbsT0}]} = t0(FnT),
    ?assertEqual({b_abs, [], ["argAsVarId"], "argAsVarId"},
                 BAbsT0),
    ArgAsPhiDim = {phi,"argAsVarId"},
  