Challenge 1 — Solution Task: Write a generic function Max[T int | float64](a, b T) T that returns the larger of two values. Call it once with two ints and once with two float64s, printing both results. package main import "fmt" func Max[T int | float64](a, b T) T { if a > b { return a } return b } func main() { fmt.Println(Max(3, 7)) fmt.Println(Max(2.5, 1.1)) } Expected output: 7 2.5 Notes: - Go infers T from the arguments at each call site — Max(3, 7) infers T as int, Max(2.5, 1.1) infers T as float64; no explicit Max[int](3, 7) syntax was needed. - The constraint int | float64 means Max could NOT be called with two strings — that would be a compile error, since string isn't part of the allowed constraint. - The function body itself works identically regardless of which concrete type T ends up being, since > is supported by both int and float64.