а зачем? тут вся логика завязана просто на этом наследовании
Насколько я помню, если придётся передавать абстрактно TimeUnit, то будет боксинг, которого обычно хочется избежать с инлайн классами.
Решение проблемы - можно примерно воспользоваться дизайном kotlin.time.Duration (ну или просто заюзать). Он экспериментальный ещё, но идея похожа - инлайн класс для хранения интервала времени.