Glossary
Type inference
Guessing whether the text "007" means a number, a string, or something else.
Formats like CSV have no types: every field is text. Converting to a typed format such as JSON means deciding, for each value, whether it represents a number, a boolean, null, or a string. That decision is a guess, and a wrong guess silently corrupts data.
The dangerous cases are the ones that look obviously numeric. A zip code of 01234 becomes 1234 if parsed as a number, losing the leading zero that made it valid. A long identifier beyond 2^53 loses precision as a JavaScript number, changing its last digits. A version string of 1.10 becomes 1.1, which is a different version.
Conservative inference is the right default: preserve a leading zero as a string, keep oversized integers as text, and only coerce values that survive the round trip unchanged. When exactness matters, and for identifiers it usually does, turning inference off entirely is the safer choice.