anchor.diff:  
   -include("ephp.hrl").
   
  --spec process(Context :: context(), Statements :: [main_statement()]) -> 
  +-spec process(Context :: context(), Statements :: [main_statement()]) ->
       {ok, binary(), return() | false}.
   
   process(_Context, []) ->
  
positive.code:         is_list(LB) -> LB;
          is_atom(LB) -> [LB];
          LB =:= undefined -> []
      end, 
      run_loop(Type, Context, Cond, LoopBlock);
  
  run_depth(Context, #print_text{text=Text}, false) ->
  
negative.code:     false;
  
  run_foreach(Context, Key, Var, [{KeyVal,VarVal}|Elements], Statements) ->
      case Key of
          undefined -> ok;
          _ -> ephp_context:set(Context, Key, KeyVal)
      end,
      ephp_context:set(Context, Var, VarVal),
      Break = run(Context, #eval{statements=Statements}),
      if
          Break =/= break andalso not is_tuple(Break) ->
              run_foreach(Context, Key, Var, Elements, Statements);
          true ->
              case Break of
                  {return,Ret} -> {return,Ret};
                  _ -> false
              end
      end.
  