There are several idiosyncrasies in action there: I'm choosing not to indent values by the length of their keys, I'm choosing not to indent them further than their keys at all (or vice versa), I am grouping them on the same line when I can, and I'm putting in padding lines between every entry just because some of the keys and values are on separate lines.
Oh, and I'm not indenting things by the length of the "##obj" operation itself, just by two spaces in every case, but that's a more general rule I go by.
As far as Lisp code in general is concerned, those seem like personal preferences. I don't expect anyone to indent this quite the same way. Maybe people could take a shot at it and see if a consensus emerges here. :)
Now suppose I could only use `##object`:
(v bytes (##object (v string #<procedure:...ne/anarki/ac.rkt:1128:21>)))
(v int #<procedure:integer->char>)
(v num #<procedure:...ne/anarki/ac.rkt:1133:21>)))
(v queue #<procedure:...t/private/kw.rkt:592:14>)
(v string #<procedure:...ne/anarki/ac.rkt:1127:21>)
(v sym #<procedure:...t/private/kw.rkt:592:14>)
(v table #<procedure:...t/private/kw.rkt:592:14>)))
This saves some lines by not needing whitespace to group keys with their objects. In even larger examples it can cost some lines since it introduces twice as much indentation at every level, so that might be a wash. What really makes a difference here is that all those pairs of parentheses can be pretty-printed just like function calls, so things that process the "##object" syntax don't need to make special considerations for pretty-printing it.
"Assuming you're attempting to have ordered tables"
In this thread, the original post's example used unordered tables. It doesn't matter to this design. Ordered tables and unordered tables can coexist with different ## names.