Is there an easy way to print the name of a kind?
For example, I have a “weapon” kind and a bunch of generic weapons. I would like to write some code like this:
An armament is a kind of thing. An armament has a number called durability. An armament has a material. Makeup relates a thing (called item) to a material (called stuff) when the material of the item is the stuff. The verb to be made of means the makeup relation.
Damage-type is a kind of value. The damage-types are piercing, bludgeoning, and slashing.
A weapon is a kind of armament. A weapon has a damage-type. A weapon can be heavy, medium, or light (this is its encumbrance property). A weapon can be 1H, 2H, or bastard (this is its handedness property).
A sword is a kind of 1H slashing medium weapon.
A warhammer is a kind of 1H bludgeoning medium weapon.
A greataxe is a kind of 2H slashing heavy weapon.
A maul is a kind of 2H bludgeoning heavy weapon.
A dagger is a kind of 1H piercing light weapon.
A knife is a kind of 1H slashing light weapon.
A spear is a kind of 2H piercing medium weapon.
The description of a weapon (called blade) is usually "This is a [kind of the blade] made of [material of the blade]. It is meant for [damage-type of the blade] things."
The first four blocks work well enough. The last does not.
[Edit: include sample weapon definitions]