In many cases enumerated values can be treated like numbers (like with comparisons) and successor, predecessor relations. (though you use next ...
instead of increment ...
, but it's the same basically)
This does not work, but I feel like it should.
Military rank is a kind of value.
The military ranks are rank private, specialist, corporal, seargent, master seargent, seargent major.
A person has a military rank.
Definition: A person is noble if his military rank is master seargent or more.
The beaches of Normandy is a room.
McGilliguddy is a rank private man. He is here.
Sarge Stewart is a master seargent man. He is here.
when play begins:
say "[the noblest man]"
This is what I'm using as a work-around, but it feels janky.
Military rank is a kind of value.
rank0 specifies a military rank.
private rank is always rank0.
specialist is always rank1.
corporal is always rank2.
seargent is always rank3.
master seargent is always rank4.
seargent major is always rank5.
A person has a military rank.
Definition: A person is noble if his military rank is rank4 or more.
The beaches of Normandy is a room.
McGilliguddy is a man. He is here. The military rank is private rank.
Sarge Stewart is a man. He is here. The military rank is master seargent.
when play begins:
say "[the noblest man]"