, but then the Angular team pulled `Object.observe()` TC39 proposal at the last minute because they were switching to React-style diffing.
Vue 3 was arguably the major turning point. With Vue 3 using proxies for change tracking across the board, proxies are now a core skill for every Vue developer.
Following in Vue’s footsteps, Mongoose switched to proxies for arrays
. In Mongoose 5, arrays in Mongoose documents were an instance of Mongoose’s `MongooseArray` class, which had two major limitations.
First, Mongoose couldn’t track changes when developers set array indexes directly, as shown below. Second, some deep equality checks, like Node’s `assert.deepStrictEqual()`, would fail because they would pick up on MongooseArray internals.