An issue with this is that model quality can get a lot lower when you force it into a structured form, because it's out of distribution for the model.
(I'm pretty sure this is actually what drove Microsoft Sydney insane.)
Reasoning models can do better at this, because they can write out a good freeform output and then do another pass to transform it.