>Defining the column with "output (thing)" rather than "output/thing" on two lines doesn't compile at all. I find that weird.

I believe that's only allowed for "(indexed text)" as an escape-hatch for type inference, and not for general use.

*tries it*

It looks like that's only half right. You cannot use any kinds of object, except, bizarrely enough, for "(object)" itself. But other kinds of value are fine, unless they involve kinds of objects (e.g. "(list of things)" doesn't work but "(list of numbers)" is fine; again, "(list of objects)" is fine). That's rather wacky behavior, IMHO.

Fixed. The reason this happened was that Inform infers the kind of a table column from its entries in an intentionally weak way, in which all kinds of object are weakened to "object". This is so that if a column has three entries reading, say, Peter, Paul and Luke, then Inform won't throw RTPs if the author then changes an entry to Mary. Peter, Paul and Luke are all of kind "men", but that could be just a coincidence about the initial state of the table.

But you can of course override this by explicitly giving the kind of the column, by writing

Table of Scored Listing
output (a man)
...

and the bug here was that the kind given in the first row was being subjected to the weakening rule as if it were a constant.