Задачи на generics в Go. Часть 1
Сделайте функцию First[T any](slice []T) (T, bool).
Сделайте функцию Swap[T any](a, b *T) для обмена двух значений.
Сделайте generic-структуру Box[T any] с полем Value T.
Создайте Box[int] и Box[string].
Сделайте функцию PrintSlice[T any](s []T).
Вызовите generic-функцию без явного указания типа (type inference).
Сделайте функцию Reverse[T any](s []T).
Сделайте структуру Pair[A, B any] с полями First A и Second B.
Сравните []int и []string с точки зрения type safety.
Сделайте функцию IsEmpty[T any](s []T) bool.