Можешь объяснить, как работают generics в Kotlin, и показать пример того, как они обеспечивают type-safe и переиспользуемый код? — ДейлиПреп