anchor.diff:          fun F.x = x - y + #.t
         end
       end",
  -  {setup, fun setup/0, fun cleanup/1,
  +  {foreach, fun setup/0, fun cleanup/1,
      [ ?_assertMatch({48,_}, eval(S)) ]}.
   
   b_abs_cannot_access_dims_in_application_context() ->
     {where, "F", [FnF]} = s("F where fun F.x = x - #.t end"),
     T = {where, {'@', s("F.46"), s("[t <- 1]")}, [FnF]},
     %% "F.46 @ [t <- 1] where fun F.x = x - #.t end end"
  -  {setup, fun setup/0, fun cleanup/1,
  +  {foreach, fun setup/0, fun cleanup/1,
      [ ?_assertMatch({[{dim,"t"}],_}, eval(T)) ]}.
   
   b_abs_cannot_access_local_dims_in_application_context() ->
  
positive.code:   ?assertEqual({wherevar, "F",
                  [{"F", {b_abs, [], [ArgAsPhiDim], {'?',ArgAsPhiDim}}}]},
                 t1(t0(T))),
    {setup, fun setup/0, fun cleanup/1,
     [
      ?_assertMatch(
         { {frozen_closed_b_abs, _I, _E, [], [ArgAsPhiDim], {'?',ArgAsPhiDim}}, _},
  
negative.code:       fun F.x.y = x - y
        fun G.x = F
      end",
    {foreach, fun setup/0, fun cleanup/1,
     [ ?_assertMatch({43,_}, eval(S)) ]}.
  
  b_abs_can_access_formal_params_of_outer_b_abs() ->
  