Ever since support for freeform arrays was added [to the js implementation in commit a89c313], regular objects have not "closed" their scope the way they used to.
archieml.org courtesy of the wayback machine:
archieml.org now:

The written spec says "the namespace defined by an object block should persist until either A) a new object block or array is defined, or B) an empty object or array key ({} or []) is encountered" so this is broken.
Ever since support for freeform arrays was added [to the js implementation in commit a89c313], regular objects have not "closed" their scope the way they used to.
archieml.org courtesy of the wayback machine:
archieml.org now:

The written spec says "the namespace defined by an object block should persist until either A) a new object block or array is defined, or B) an empty object or array key ({} or []) is encountered" so this is broken.