function generic(): any {} function generic2(): Array {} function generic3(): any[] {} function generic4(param: Array): number {} function generic5(param: any[]): number {} function generic6(param: Array): Array {} function generic7(): Array> {} function generic8(): Array {} function test>() {} function foo(a: number, ...rest: any[]): void { return; } function foo5(...args: any) {} function quux5(fn: (...args: any) => void): void {} function quuz5(): ((...args: any) => void) {} declare function waldo5(...args: any): void;