now my code looks like "func map(x []T, f func(T) T)" and everybody's happy :)
type T1 generic type T2 generic
func Map(f func(T1) T2, s []T1) []T2