ладно давайте проще. есть
function my_fun<Trololo>(a: Trololo)-> Trololo{
return a
}
есть простой враппер который делает
function wrap<T>(a:T)-> T{
return a
}
делая wrap(my_fun) мы теряем дженерик, т.е. тип будет чем то вроде ээм. хотя щас я запихну в чекер