New mystery:
In SQ5 (and presumably other SCI1.1 games? But not SCI0 or SCI01), several scripts have public classes.
In SCI0, SCI01, the only public exports allowed from scripts were procedures and instances. But several scripts have classes that are in the script's export table:
main (SQ5), Smopper, genetix, starCon, eureka, kiz, and more..
Anyone know why this might be? It seems kind of pointless.
It does mean that I need to add syntax support for "public" classes (and update any code that might assume that classes can't be public).