package maputils func Values[K comparable, T any](ts map[K]T) []T { values := make([]T, 0, len(ts)) for _, v := range ts { values = append(values, v) } return values } func MapValuesWithError[K comparable, T, U any](ts map[K]T, fn func(t T) (U, error)) (map[K]U, error) { us := make(map[K]U) for k, t := range ts { var err error us[k], err = fn(t) if err != nil { return nil, err } } return us, nil }