I've been struggling to articulate this issue, and I think an example is best.
Imagine you're playing a Byn sergeant and one of your runners took your beetle and ended up with your saddlebags.
They tell you that they left them on their cot in the barracks.
The barracks has ten cots. Their cot is cot number 7.
Sergeant walks into the barracks and looks around to see which cot has his giant packed saddlebags atop it.
Key saddlebags all
On a stanky canvas cot:
1.saddlebags - Sarge's saddlebags
I wish it somehow showed that they were on cot #7. One still has to go down the line with looking on each cot to find out which it is.
I understand the code challenge here when the scenario is different and so many keywords could be at play.
For example, a Salarr display room with 4 display cases. Two are dark wood and two are light wood.
The Agent wants to see at a glance which case has the half-giant hauberk. It is in the first light wood case, which is the third case overall. So...
Key hauberk all
In a light wood display case:
A half-giant sized hauberk
Key case all
In the room:
1.case - a dark wood display case
2.case - a dark wood display case
3.case - a light wood display case
4.case - a light wood display case
If the ordering could show us that it was in case #3 here, that only works if we use the keyword 'case' alone, since it's in 3.case but 1.light.case.
And if there are other 'light' or 'dark' or 'wood' containers in the room, those keywords could get mixed up with any "fix" to this.
I don't know if I've made this clear or if anyone else has similar issues, but there it is.
Edited to add:
There could also be issues if, in the above example, the Agent was holding a scroll 'case'. Now if the "fix" here shows us the hauberk is in 3.case in the room, it's not 3.case when Agent tries to 'get' it, now is it?