Fixed IProjectionFunc so methods will take `(item: T) => TResult` and `(item: T, index: number) => TResult`.