anchor.diff:  	Acc1 = sqlb_reduce(Ind, Idx, Parent, Ch, X, Acc),
   	?LOG(" --> ~p", [Acc1]),
   	Acc1;
  -sqlb(Ind, Idx, Parent, _Ch, X='as', [#box{ind=I,name=Name}=Box|Rest]) when I==Ind -> 
  -	?LOG("~n---sqlb(~p,~p,~p,~p)", [Ind, Idx, Parent, X]),
  +sqlb(Ind, _Idx, _Parent, _Ch, _X='as', [#box{ind=I,name=Name}=Box|Rest]) when I==Ind -> 
  +	?LOG("~n---sqlb(~p,~p,~p,~p)", [Ind, _Idx, _Parent, _X]),
   	Acc1 = [Box#box{name=Name ++ " as"}|Rest],
   	?LOG(" --> ~p", [Acc1]),
   	Acc1;
  -sqlb(Ind, Idx, Parent='as', _Ch, X, [#box{ind=I,name=Name}=Box|Rest]) when I==Ind -> 
  -	?LOG("~n---sqlb(~p,~p,~p,~p)", [Ind, Idx, Parent, X]),
  +sqlb(Ind, _Idx, _Parent, _Ch, _X = <<"asc">>, [#box{ind=I,name=Name}=Box|Rest]) when I==Ind -> 
  +	?LOG("~n---sqlb(~p,~p,~p,~p)", [Ind, _Idx, _Parent, _X]),
  +	Acc1 = [Box#box{name=Name ++ " asc"}|Rest],
  +	?LOG(" --> ~p", [Acc1]),
  +	Acc1;
  +sqlb(Ind, _Idx, _Parent, _Ch, _X = <<"desc">>, [#box{ind=I,name=Name}=Box|Rest]) when I==Ind -> 
  +	?LOG("~n---sqlb(~p,~p,~p,~p)", [Ind, _Idx, _Parent, _X]),
  +	Acc1 = [Box#box{name=Name ++ " desc"}|Rest],
  +	?LOG(" --> ~p", [Acc1]),
  +	Acc1;
  +sqlb(Ind, _Idx, _Parent='as', _Ch, X, [#box{ind=I,name=Name}=Box|Rest]) when I==Ind -> 
  +	?LOG("~n---sqlb(~p,~p,~p,~p)", [Ind, _Idx, _Parent, X]),
   	Acc1 = [Box#box{name=Name ++ " " ++ binary_to_list(X)}|Rest],
   	?LOG(" --> ~p", [Acc1]),
   	Acc1;
  -sqlb(Ind, Idx, Parent, _Ch, X, Acc=[#box{ind=I}|_]) when I==Ind, is_atom(X) -> 
  -	?LOG("~n---sqlb(~p,~p,~p,~p)", [Ind, Idx, Parent, X]),
  +sqlb(Ind, _Idx, _Parent, _Ch, X, Acc=[#box{ind=I}|_]) when I==Ind, is_atom(X) -> 
  +	?LOG("~n---sqlb(~p,~p,~p,~p)", [Ind, _Idx, _Parent, X]),
   	Acc1 = [#box{ind=Ind,name=atom_to_list(X)}|Acc],
   	?LOG(" --> ~p", [Acc1]),
   	Acc1;
  -sqlb(Ind, Idx, Parent, _Ch, X, Acc=[#box{ind=I}|_]) when I==Ind, is_binary(X) -> 
  -	?LOG("~n---sqlb(~p,~p,~p,~p)", [Ind, Idx, Parent, X]),
  +sqlb(Ind, _Idx, _Parent, _Ch, X, Acc=[#box{ind=I}|_]) when I==Ind, is_binary(X) -> 
  +	?LOG("~n---sqlb(~p,~p,~p,~p)", [Ind, _Idx, _Parent, X]),
   	Acc1 = [#box{ind=Ind,name=binary_to_list(X)}|Acc],
   	?LOG(" --> ~p", [Acc1]),
   	Acc1;
  
positive.code: 	Acc1 = [#box{ind=I+1}|Acc],
  	?LOG(" --> ~p", [Acc1]),
  	sqlb(Ind, Idx, Parent, Ch, X, Acc1);
  sqlb(Ind, Idx, Parent, _Ch, X, Acc=[#box{ind=I}|_]) when I<Ind, is_atom(X) -> 
  	?LOG("~n---sqlb(~p,~p,~p,~p)", [Ind, Idx, Parent, X]),
  	Acc1 = [#box{ind=Ind,name=atom_to_list(X)}|Acc],
  	?LOG(" --> ~p", [Acc1]),
  	Acc1;
  sqlb(Ind, Idx, Parent, _Ch, X, Acc=[#box{ind=I}|_]) when I<Ind, is_binary(X) -> 
  	?LOG("~n---sqlb(~p,~p,~p,~p)", [Ind, Idx, Parent, X]),
  	Acc1 = [#box{ind=Ind,name=binary_to_list(X)}|Acc],
  	?LOG(" --> ~p", [Acc1]),
  	Acc1;
  sqlb(_Ind, _Idx, _Parent, _Ch, X, Acc) -> 
  	?LOG("~n---Fun ignores ~p~n", [X]),
  	Acc.	
  	
  sqlb_reduce(Ind, Idx, Parent, Ch, X, Acc) -> 
  
negative.code: sqlb(Ind, _Idx, _Parent, _Ch, A, []) ->
  	[#box{ind=Ind,name=atom_to_list(A)}];
  
  sqlb(Ind, _Idx, _Parent, _Ch, _X='%ret%', Acc=[#box{ind=I}|_]) when I<Ind ->
  	?LOG("~n---sqlb(~p,~p,~p,~p)", [Ind, _Idx, _Parent, _X]),
  	?LOG(" --> ~p", [Acc]),
  	Acc;
  sqlb(Ind, Idx, Parent, Ch, X, Acc=[#box{ind=I}|_]) when I>Ind ->			%% X='%ret%'
  