This question is a follow-up to this one on Meta.SE about the flag dialog used on SE sites. In the dialog, the first two ("spam" and "rude/abusive") are considered the same type of flag, and the second two ("should be closed" and "duplicate") are considered to be the same type of flag and different from the first. Thus, if someone raises one kind of flag, the UI will tell the user that s/he has already raised in both, like so:
The five options seem to me to set up an expectation that there are five types of flags and they are listed here. That is not an accurate reflection of the underlying technology or the meaning of the word "type" in this interface, though.
The SE mod response is that "It's not really a matter of what the user expects to happen" but then what is primary in UI design decisions?
Is this good design? Specifically why or why not? What would you change about it?
Are there general guidelines for UI design in cases where a technical typology differs significantly from the typology presented to users?