package main import "maps" func MapKeys[K comparable, V any](m map[K]V) []K { return IterToSlice(maps.Keys(m)) } func MapValues[K comparable, V any](m map[K]V) []V { return IterToSlice(maps.Values(m)) } func Map[K any, V any](s []K, mapper func(K) V) []V { res := make([]V, len(s)) for i, _ := range s { res[i] = mapper(s[i]) } return res }