Как убедить тайпскрипт, что unknown можно в ReturnType?
У TypeScript есть ряд проблем с функциональными типами в дженериках из-за их вариантности
Вот так результат будет аналогичным, но работает без проблем:function call<R>(f: () => R): R {
  return f()
}
Первое что пришло в голову: 
return f() as ReturnType<F>