The fact that it is ”intelligent" it's fine for some things.
For example I created structured output schema that had a field "currency" with the 3 letter format (USD, EUR...). So I scanned a receipt from some shop in Jakarta and it filled that field with IDR (Indonesian Rupiah). It inferred that data because of the city name on the receipt.
Would it be better for my use case that it would have returned no data for the currency field? Don't think so.
Note: if needed maybe I could have changed the prompt to not infer the currency when not explicitly listed on the receipt.