anchor.diff:                end,
       RT = {lists:append([
           "create ",
  -        if length(OptsStr) > 0 -> OptsStr ++ " "; true -> "" end,
  +        if length(OptsStr) > 0 -> OptsStr ++ " "; true -> [] end,
           "table ",
           TabStr,
           " (",
  
positive.code:                   top_down -> NewCtx2;
                    bottom_up -> Fun(ST, NewCtx2)
                end,
      RT = {lists:flatten([string:strip(AStr), C, binary_to_list(B)]), NewCtx3},
      ?debugFmt(?MODULE_STRING ++ ":fold ===> ~n RT: ~p~n", [RT]),
      RT;
  fold(FType, Fun, Ctx, Lvl, {as, A, B, C} = ST)
  
negative.code:               end,
      RT = {lists:append([
          "revoke ",
          case length(ObjsStr) == 0 of
              true -> [];
              _ -> string:join(ObjsStr, ",") ++ " "
          end,
          if On =/= <<"">> ->
              lists:append([OnTypNew, " ", OnNew, " "]);
              true -> []
          end,
          if length(Tos) > 0 ->
              lists:append(["from ", string:join(TosStr, ","), " "]); true -> []
          end,
          atom_to_list(Opts)
      ]), NewCtx6},
  