first<T>(array:T[]) -> T!
first<T>(array:T[], _ n:Int) -> T[]!
initial<T>(array:T[], _ n: Int = 1) -> T[]
last<T>(array: T[]) -> T
last<T>(array: T[], _ n: Int) -> T[]
rest<T>(array: T[], _ n: Int = 1) -> T[]
compact<T : LogicValue>(array: T[]) -> T[]
flatten<T>(array: T[][]) -> T[]
without<T: Equatable>(array: T[], values: T...) -> T[]
partition<T>(array: T[], condition: T -> Bool ) -> (T[], T[])
union<T : Equatable>(arrays: T[]...) -> T[]
intersection<T : Equatable>(arrays: T[]...) -> T[]
difference<T: Equatable>(array: T[], others: T[]...) -> T[]
uniq<T : Equatable>(array: T[], isSorted: Bool = false) -> T[]
uniq<T, U : Equatable>(array: T[], isSorted: Bool, transform: T -> U) -> T[]
zip<T, U>(array0: T[], _ array1: U[]) -> (T, U)[]
object<K : Hashable, V>(#keys: K[], values:V[] ) -> Dictionary<K, V>
object<K : Hashable, V>(keyAndValues: Array<(K, V)>) -> Dictionary<K, V>
indexOf<T: Equatable>(array: T[], value:T) -> Int?
indexOf<T: Comparable>(array: T[], value:T, isSorted: Bool) -> Int?
lastIndexOf<T : Equatable>(array : T[], value: T) -> Int?
lastIndexOf<T : Equatable>(array : T[], value: T, from: Int) -> Int?
sortedIndex<T, U : Comparable>(array : T[], value : T, transform: T -> U ) -> Int?
range(stop: Int) -> Int[]
range(#start: Int, stop: Int) -> Int[]
range(#start: Int, stop: Int, step: Int) -> Int[]
This index has the same order as Underscore.js