anchor.diff:      end,
       {NewOs, NewCtx1} = lists:foldl(fun(O, {Acc, CtxAcc}) ->
               {SubAcc, CtxAcc1} = fold(FType, Fun, CtxAcc, Lvl+1, O),
  -            {Acc++[" ", SubAcc], CtxAcc1}
  +            if length(SubAcc) > 0 ->
  +                   {Acc++[" ", SubAcc], CtxAcc1};
  +               true ->
  +                   {Acc, CtxAcc1}
  +            end
           end,
           {[], NewCtx},
           Opts),
  
positive.code:         bottom_up -> Fun(ST, NewCtx1)
      end,
      {if Size > 0 ->
          " order by " ++ string:join(OrderByStr, ", ")
          ++ " ";
          true -> ""
       end
  
negative.code:         top_down -> NewCtx1;
          bottom_up -> Fun(ST, NewCtx1)
      end,
      {"where " ++ WhereStr, NewCtx2};
  
  % Like operator
  fold(FType, Fun, Ctx, Lvl, {'like',Var,Like,OptEsc} = ST) ->
  