anchor.diff:    S = "BadF!1
         where
           var BadF = // This is a tricky declaration
  -          (F where fun F!x = #.d end) // (\ {d} x -> #.d) TODO Implement anonymous functions
  +          (\\ !x -> #.d)
             where
               dim d <- 46
             end
  
positive.code:   S = "BadF!1
        where
          var BadF = // This is a tricky declaration
            (F where fun F!x = #.d end) // (\ {d} x -> #.d) TODO Implement anonymous functions
            where
              dim d <- 46
            end
        end",
    %% Hack below needed ATM for defining value abs with frozen
    %% dim. After anonymous functions are implemented, this should not
    %% be needed anymore.
    _  = {wherevar, BadF1, [{"BadF", {wheredim, {wherevar, "F", [{"F", {v_abs,[   ],["x"],FBody}}]}, [{"d",46}]}}]} = t0(s(S)),
    T0 = {wherevar, BadF1, [{"BadF", {wheredim, {wherevar, "F", [{"F", {v_abs,["d"],["x"],FBody}}]}, [{"d",46}]}}]},
    ?assertMatch({46,_}, tcore_eval(t1(T0))). %% Upstream TL returns 46
  
  wheredim_recursing_on_input_outer_dim() ->
    S = "F @ [n <- 3]
  
negative.code: t1(T) ->
    ttransform1:transform1(T).
  
  eval(S) when is_list(S) ->
    {ok, T} = tea:string(S),
    tea:eval(T).
  