Collect now passes the index to the collecting delegate.
Added List.inject
Collect now invokes the closure on the list.
Added List.min and List.max
Removed duplication