module Underscore { export interface Iterator { (value: T, index: any, list: any): U; } export interface Static { all(list: T[], iterator?: Iterator, context?: any): T; identity(value: T): T; } } declare var _: Underscore.Static; var r = _.all([true, 1, null, 'yes'], _.identity); var r2 = _.all([true], _.identity); var r3 = _.all([], _.identity); var r4 = _.all([true], _.identity);