const _arr = new WeakMap, unknown>(); export class AppendOnlyList { constructor() { _arr.set(this, []); } get length(): number { return (_arr.get(this)!).length; } toString(): string { return (_arr.get(this)!).toString(); } toLocaleString(): string { return (_arr.get(this)!).toLocaleString(); } push(...items: T[]): number { return (_arr.get(this)!).push(...items); } entries(): IterableIterator<[number, T]> { return (_arr.get(this)!).entries() } keys(): IterableIterator { return (_arr.get(this)!).keys() } values(): IterableIterator { return (_arr.get(this)!).values() } [Symbol.iterator](): IterableIterator { return (_arr.get(this)!)[Symbol.iterator](); } [Symbol.unscopables](): { copyWithin: boolean; entries: boolean; fill: boolean; find: boolean; findIndex: boolean; keys: boolean; values: boolean; } { throw new Error('Method not implemented.'); } }