anchor.diff:  -spec mk_box(integer(), tuple() | list(), binary() | atom()) -> #box{}.
   mk_box(Ind, Child, Name) when is_record(Child, box) ->
       mk_box(Ind, [Child], Name);
  +mk_box(Ind, Children, Name) when (Ind >= ?DefCollInd) ->
  +    #box{ind = Ind, collapsed = true, children = Children, name = bStr(Name)};
  +mk_box(Ind, [L,Op,R], Name) ->
  +    ON = bStr(Op#box.name), 
  +    Coll = case lists:member(ON,[<<"=">>,<<"<>">>,<<">">>,<<"<">>,<<">=">>,<<"<=">>,<<"in">>,<<"is">>,<<"like">>]) of
  +        false ->    false;
  +        true ->     false % (lists:sum([byte_size(flat_from_box(Ch)) || Ch <- [L,Op,R]]) < ?DefCollLen)
  +    end,
  +    #box{ind = Ind, collapsed = Coll, children = [L,Op,R], name = bStr(Name)};
   mk_box(Ind, Children, Name) ->
  -    #box{ind = Ind, collapsed = (Ind >= ?DefCollInd), children = Children, name = bStr(Name)}.
  +    #box{ind = Ind, collapsed = false, children = Children, name = bStr(Name)}.
   
   -spec foldb_commas([#box{}]) -> list() | {error, binary()}.
   foldb_commas(Boxes) when is_list(Boxes) ->
  
positive.code: foldb(_, _P, {'hierarchical query', {}}) -> empty;
  
  foldb(Ind, _P, T) when is_binary(T); is_atom(T) -> mk_box(Ind, [], T);
  foldb(Ind, _P, {param, T}) -> mk_box(Ind, [], T);
  
  %%TODO: Improve these ugly nested cases to check for errors.
  foldb(Ind, P, {'as', {'fun',Fun,List}, Alias}) ->
  
negative.code: 
  -spec pretty_from_box([#box{}] | #box{}) -> binary().
  pretty_from_box([]) -> [];
  pretty_from_box(#box{name= <<>>,children=[]}) -> <<>>;
  pretty_from_box(#box{ind=Ind,name=Name,children=[]}) ->
      iolist_to_binary([indent(Ind), Name, "\r\n"]);
  