anchor.diff:                end,
       RT = {lists:append([
           "grant ",
  -        case length(ObjsStr) of
  -            0 -> [];
  +        case length(ObjsStr) == 0 of
  +            true -> [];
               _ -> string:join(ObjsStr, ",") ++ " "
           end,
           if On =/= <<"">> ->
               lists:append([OnTypNew, " ", OnNew, " "]);
  -            true -> ""
  +            true -> []
           end,
           if length(Tos) > 0
               -> lists:append(["to ", string:join(TosStr, ","), " "]);
  -            true -> ""
  +            true -> []
           end,
           atom_to_list(Opts)
       ]), NewCtx6},
  
positive.code:         binary_to_list(Tbl),
          " ",
          case Mvl of
              {} -> "";
              {'materialized view log', T} ->
                  lists:flatten([atom_to_list(T), " materialized view log "])
          end,
          case Storage of
              {} -> "";
              {'storage', T} -> lists:flatten([atom_to_list(T), " storage"])
          end
      ]), NewCtx4},
  
negative.code:               end,
      RT = {lists:flatten([
          "connect by ",
          if byte_size(NoCycle) > 0 -> NoCycleStr ++ " "; true -> [] end,
          ConnectByStr
      ]), NewCtx3},
      ?debugFmt(?MODULE_STRING ++ ":fold ===> ~n RT: ~p~n", [RT]),
  