Is similar to this work on constrained text generation:
https://github.com/hellisotherpeople/constrained-text-genera...
https://github.com/hellisotherpeople/constrained-text-genera...
I think LMQL is the best example I've seen of the "forcing the LLM to walk a certain path" technique. It's a DSL written in Python for Python though, so it kinda constrains it's utility.