Как использовать рекурсивный тип в Котлине

Я хочу сделать что-то вроде этого

fun <F, A, R> recur(f: (F, A) -> R, arg: A): R = f(f, arg) where F = (F, A) -> R 

Как я могу ввести эту функцию в Котлин?

Вы можете определить его как

 fun <F : (F, A) -> R, A, R> recur(f: F, arg: A): R = f(f, arg) 

Тем не менее, я не вижу удовлетворительного типа системного способа, как его можно вызвать.

Intereting Posts
Как десериализовать унаследованные классы данных Kotlin с помощью Gson Издевательские общие интерфейсы с Kotlin и Mockito Могу ли я опустить методы интерфейса, которые я не использую в Котлине? Веб-приложение Kotlin | ссылка css-файл Причина приоритета операторов с типом в правой части Регулярное изображение Котлин Как определить свойство типа класса с помощью get () в Котлине Как показать один элемент, выбранный в recyclerview, используя kotlin Где сохранить точки Android GPS (широта, долгота)? Доступ к идентификаторам ресурсов с использованием Kotlin & Anko Как добавить кнопку динамически в Android с помощью Kotlin Разработка плагина Intellij IDEA. Действие «создать класс kotlin» Как не передавать данные Flowable для модульных тестов? Есть ли способ реализовать разбиение на страницы весной? В Kotlin при использовании Kovenant Promise.of (значение) иногда я исключаю исключения