Hard-to-parse protocols require complex parsers. Complex, buggy parsers become weird machines for exploits to run on. Help stop weird machines today: Make your protocol context-free or regular!
Protocols and file formats that are Turing-complete input languages are the worst offenders, because for them, recognizing valid or expected inputs is UNDECIDABLE: no amount of programming or testing will get it right.
A Turing-complete input language destroys security for generations of users. Avoid Turing-complete input languages!
Ensure computational equivalence of protocol endpoints: use only regular and context-free protocols!
Needless to say, you also doom us all to inhuman toil for the One whose Name cannot be expressed in the Basic Multilingual Plane.