なぜGo言語にgenericsが必要なのか