export function arraysEqual(a: T[], b: T[]): boolean; export function arraysEqual(a: T[], b: T[], mapFn: (x: T) => U): boolean; export function arraysEqual(a: T[], b: T[], mapFn = (x: T) => x): boolean { return a.length === b.length && a.every((x, i) => mapFn(x) === mapFn(b[i]!)); }