Otoh, what&#x27;s the difference between<p><pre><code>    { &quot;number&quot;: &quot;1.0000000000000000000000000000001&quot; }
</code></pre>
along with<p><pre><code>    { &quot;number&quot;: { &quot;type&quot;: &quot;ModelReal&quot;, precision: 64 } }
</code></pre>
versus<p><pre><code>    &lt;number&gt;1.0000000000000000000000000000001&lt;&#x2F;number&gt;
</code></pre>
along with<p><pre><code>    &lt;xs:element name=&quot;number&quot; type=&quot;xs:decimal&quot;&#x2F;&gt;
</code></pre>
In each case you have text data given meaning by an external semantics enforced via a schema. The real and unavoidable downside is that JSON actually contains a really lousy primitive. It wouldn&#x27;t be bad except practically every implementation of JSON automatically performs a lossy coercion to IEEE floats.