Стрелки часто описываются как обобщение функций (только статически сгенерированные функции, т.е. нет поддержки для частичного приложения/закрытия). Однако, по крайней мере, глядя на стрелки, поскольку они моделируются в Haskell, я не вижу, как они могут обобщать функции из нескольких аргументов, которые возвращают единственный результат (результат, который вообще не может быть кортежем). Я пытаюсь представить себе, как использовать только интерфейс стрелок, чтобы получить композицию стрелок, которая дает единственный результат, который вообще не может быть кортежем. Есть ли способ сделать это или это преднамеренное ограничение силы типа Arrow?
Из того, что я понимаю, стрелки предоставляют возможность составлять статические (возможно параллельные) конвейеры, но они не могут "сбрасывать" кортежи выходов в один конечный результат. Неправильно или я чего-то не хватает?