This is me practicing generics and testing in Go
go get -u github.com/tsivinsky/array
array.Each[T any](slice []T, func (item T, i int))
array.Map[T any, M any](slice []T, func(item T, i int) M) []M
array.Reduce[T any, M any](slice []T, func(accumulator M, currentValue T) M, initialValue M) M
array.Some[T any](slice []T, func(item T, i int) bool) bool
array.Every[T any](slice []T, func(item T, i int) bool) bool
array.Find[T any](slice []T, func (item T, i int) bool) T
array.FindIndex[T any](slice []T, func (item T, i int) bool) int
array.Filter[T any](slice []T, func (item T, i int) bool) []T
array.Includes[T comparable](slice []T, item T) bool
Try passing negative number as second argument
array.At[T any](s []T, i int) T