История изменений
Исправление qnikst, (текущая версия) :
я понимаю, что ты хочешь передать туда (forall a . (a -> String) -> a -> String), но пока ты этого не понимаешь, а требуешь полипорфную фукнцию в которую подставится конерктный 'a', причем, из первого кейса следует что a ~ Int, а из второго, что a ~ Float, компилятор удивляется твоей находчивости и рапортует ошибку, правильно делает, кстати.
sorry if too offencive, то я уже много часов в этой теме потерял/
Исходная версия qnikst, :
я понимаю, что ты хочешь передать туда (forall a . (a -> String) -> a -> String), но пока ты этого не понимаешь, а требуешь полипорфную фукнцию в которую подставится конерктный 'a', причем, из первого кейса следует что a ~ Int, а из второго, что a ~ Float, компилятор удивляется твоей находчивости и рапортует ошибку, правильно делает, кстати.