Здравствуйте, alex_public, Вы писали:
_>apply f "1" -- компилятор пошлёт очень далеко
_>apply(f, "1"s); // компилятор пошлёт очень далеко
А вот и нет. Компилятор пошлёт о-о-очень далеко только в случае C++. В случае Haskell пошлёт не очень далеко. Makes a difference. Причём, конечно же, в случае C++ компилятор укажет не на ту строку, которая помечена комментарием «// компилятор пошлёт очень далеко». Господи, какой фейл.