I think we have to be careful about putting too many MUSTs on the
implementations. In our case, we can't (practically) change the "printer-name"
after the Printer has been created (the "printer-name" is used as an identifier
by other, non-IPP, parts of the system). If this becomes a MUST, then we're
faced with some unpleasant alternatives:
1) Try to work around the problem; fake "printer-name" somehow
2) Don't support the "printer-name" attribute (Oops! Its REQUIRED.)
3) Don't support the Set-Printer-Attributes operation, even though we could
set many of the other printer attributes.
I don't think this is a unique situation.