Sampling and structured outputs in LLMs