I7: Plural-named prop. interaction w/ parsing multiples

If a word is defined as the plural of a kind, e.g.

A zug is a kind of thing. The plural of zug is zuggen.

Is that supposed to do the equivalent of making a dictionary word like ‘zuggen//p’ would in I6?

If so, should use of “zuggen” by the player automatically trigger use of tokens when applicable? And if so, should it matter whether an additional property describing zuggen is used in the player’s command?

I’m asking because I’m seeing some differences in behavior depending on which properties are used in the player’s command. Sometimes multiples are allowed, and sometimes they aren’t.

To improve clarity, here’s an example demonstrating the issue:

[code]“The Plural of Zug”

Color is a kind of value. The colors are black, gray, brown, tan, and white.

Hornedness is a kind of value. 1-horned specifies a hornedness. The verb to grow means the hornedness property.

A zug is a kind of animal. The plural of zug is zuggen. Understand “zugs” as zuggen.

A zug has a color. The color of a zug is usually gray. Understand the color property as describing a zug.

A zug has a hornedness. The hornedness of a zug is usually 1-horned. Understand the hornedness property as describing a zug.

The printed name of a zug is usually " [hornedness] zug". The printed plural name of a zug is usually " [hornedness] zuggen".

Place is a room.

Three zuggen are in Place.

There is a black zug in Place.

There is a white zug in Place. It grows 2-horned.

There is tan zuggen in Place. It grows 2-horned.

There is a black zug in Place. It grows 3-horned.

There is a brown zug in Place. It grows 3-horned.

Understand the command “pet” as “rub”.

Understand “rub [things]” as rubbing.

The can’t rub another person rule is not listed in any rulebook.

After rubbing a zug (this is the zug enjoy being petted rule):
say “[The noun] rumbles contentedly.”

test me with “pet zug / pet zuggen / pet gray zug / pet gray zuggen / pet gray 1-horned zug / pet gray 1-horned zuggen / pet black zuggen / pet black zug / 3-horned / pet 3-horned zuggen / all”
[/code]

which produces output:

As you can see, a command with " zuggen" applies to all zuggen of that color automatically, but “[hornedness] zuggen” does not, even if requested. What is the significant difference?

This is the easy part to answer: yes. If you look at the generated I6, each zug object includes

    with name 'zug' 'zuggen//p'

For the hard part: I don’t know what’s going on. Sorry. Too much parser tracing for a Saturday.