Read-only objects don't cache the converted v8 values and reconvert every time a field is accessed. This causes the following two major issues:
- this.x != this.x if x is an Object
- Since arrays are not lazy we need to build the entire thing each time we access. This is ok if the array is assigned to a variable then accessed through it but causes O(n^2) performance when accessed through a readonly object.