title: Combining objects with + (plus operator) vs whitespace
body: <p>Jsonnet's docs mention that the <code>+</code> operator can be used for <a href="https://jsonnet.org/ref/language.html#inheritance" rel="nofollow noreferrer">inheritance</a>, or, as it's worded in the tutorial, to <a href="https://jsonnet.org/learning/tutorial.html#arithmetic" rel="nofollow noreferrer">combine objects</a>:</p>
  <pre><code>{
    a: 1,
    b: 2,
  }
  +
  {
    a: 3
  }
  </code></pre>
  <p>However, I've noticed that - at least in simple cases like the above - simply omitting the <code>+</code> operator and writing the two consecutive objects separated by whitespace compiles down to the same result. That is, there's no difference in output between the program above and this one:</p>
  <pre><code>{
    a: 1,
    b: 2,
  }
  {
    a: 3
  }
  </code></pre>
  <p>I'm puzzled, because I haven't noticed any mention of this implicit object combination in the docs. I also notice that this behaviour seems to be unique to objects and doesn't happen with other types. (In particular, despite Jsonnet drawing inspiration from Python for some of its features, you <em>can't</em> implicitly concatenate strings with whitespace like you can in Python.)</p>
  <p>Thus, some questions:</p>
  <ul>
  <li>Is this even intended behaviour, or a bug?</li>
  <li>Is it documented anywhere?</li>
  <li>Are there any behaviour differences between combining objects with the explicit <code>+</code> operator and combining them implicitly with whitespace?</li>
  </ul>