One may consider it "rigidity" but many application backends (including LLM powered ones) never needed the full unconstrained capabilities of an LLM. What people needed was the zero-shot capabilities over tasks as opposed to have to train a classifier, span model, etc for every task.
Constraints can be an advantage in many systems. Consider typed and untyped programming languages. Many advantages with typed languages over the latter in terms of development and efficiency.