OK. That’s definitely the culprit, and I think it qualifies as a bug in the I7 compiler.
Here’s the some reproduction code showing the bug in 6M62 and 10.1.2:
Place is a room.
There is a backdrop called the hell ride. It is everywhere.
There is a backdrop called the ferris wheel. It is everywhere.
does the player mean doing something with hell ride: it is very likely.
does the player mean doing something with the hell ride ticket: it is likely.
does the player mean doing something with ferris wheel: it is very likely.
does the player mean doing something with the ferris wheel ticket: it is likely.
A ride ticket is a kind of thing. [<-- problem line]
The player carries a ride ticket called a Hell Ride ticket.
The player carries a ride ticket called a Ferris Wheel ticket.
Test me with "x hell ride".
The I7 compiler is marking all words in the multi-word kind name for ride ticket
as plural, which would not generally be desirable. You can see the effect in generated I6 for the ticket objects:
Object -> I139_hell_ride_ticket ""
class K16_ride_ticket
with name 'hell' 'ride' 'ticket' 'tickets//p' ! 'ride//p' suppressed due to 'ride' being part of object name?
...
;
Object -> I140_ferris_wheel_ticket ""
class K16_ride_ticket
with name 'ferris' 'wheel' 'ticket' 'ride//p' 'tickets//p' ! 'ride//p' unexpectedly marked plural
...
;
This happens whether or not you provide an explicit plural, because the compiler will construct a default plural if none is specified. If I’m remembering correctly, this is something noted by @drpeterbatesuk a while back, so it may already have been reported. In the meantime, I’m pinging @Zed and @Draconis to take a look at this in case they have other thoughts.
My short term suggestion would be to rename the kind to attraction ticket
or similar.