func strmin(x, y string) string { … } func strmax(x, y string) string { … } func fmin32(x, y float32) float32 { … } func fmin64(x, y float64) float64 { … } func fmax32(x, y float32) float32 { … } func fmax64(x, y float64) float64 { … } type floaty … func fmin[F floaty](x, y F) F { … } func fmax[F floaty](x, y F) F { … } func forbits[F floaty](x, y F) F { … } func fandbits[F floaty](x, y F) F { … }