Stefan, That's an interesting suggestion. Please open an issue in the GitHub repo and I will consider it. For those of you who aren't familiar with RFC 2119, both SHALL and SHOULD (and, for that matter, REQUIRED) are permitted when expressing an absolute requirement. There are places in the spec where "SHALL" sounds better to me, other places where "MUST" sounds better to me, and still other places where they sound equally good to me. For example, consider this sentence from §3.2: Two URIs SHALL be considered equivalent if their normalized forms are the same... To my ear, MUST does not sound as good here. I'm not sure I can fully explain why. I think it is because in English, "MUST" has more of a feeling of "telling someone what to do". SHALL is more impersonal. If I write "Two URIs MUST be considered equivalent..." it sounds (to me) like a parent telling a child that they "must clean up their room". It sounds like a command, rather than a simple description of how the world has to be. I tend to use MUST in requirements that describe a syntactic constraint. For example, consider this sentence from §3.4: Unless otherwise specified in the description of a specific property, all properties whose values are of type "string" MUST have a non-empty value. Again I can't fully explain why. I think it's because here, I'm telling the string how to behave, and I don't have any trouble giving commands to a string