Thanks for bringing this library to my attention! From my understanding, TypeChat proceeds by (1) generating (2) attempting validation (3) if it fails, call the LLM again to fix the output (4) etc.
Our method on the other guarantees that the output will follow the specs of the JSON schema. No need to call the LLM several times.