sealed class kotlin