package array func Find[TIn any](arr []TIn, predicate func(val TIn) bool) *TIn { for i := range arr { if predicate(arr[i]) { return &arr[i] } } return nil } func Filter[TIn any](arr []TIn, predicate func(val *TIn) bool) []TIn { var r []TIn for i := range arr { if predicate(&arr[i]) { r = append(r, arr[i]) } } return r }