For example, UInt8Array.find
// currently:find(predicate: (value: number,index: number,obj: Array<number>)=>boolean,thisArg?: any): number |undefined;// better:find<Z=undefined>(predicate: (this: Z,value: number,index: number,obj: this)=>boolean,thisArg?: Z): number|undefined;
All the variants have the same issues. It seems like it would be a good idea to refactor them to:
interfaceTypedArray<ArrType>{// find etc}interfaceUInt8ArrayextendsTypedArray<UInt8Array>{}interfaceUInt16ArrayextendsTypedArray<UInt16Array>{}// etc
For example, UInt8Array.find
All the variants have the same issues. It seems like it would be a good idea to refactor them to: