Look at HTTP. How many implementations correctly and interoperably handle line folding? Comments in headers? Different line endings? Stick to a small subset and you're fine. Actually use the spec as written and it is hopeless. These crazy semi-freeform text protocols are a curse. They do not make implementation easier. They trick people into thinking they made it easier.