Карринг во Flex

Не давно начал экспериментировать с фреймворком Flex, не все в нем конечно гладко, многое даже очень не гладко, но одна замечательная особенность меня очень порадовала - в ActionScript 3.0 все функции являются объектами, или говоря научным языком функторами, и могут свободно образовывать замыкания. Как только я об этом узнал меня заинтересовал вопрос: "А нельзя ли сюда прикрутить карринг?".

И оказывается можно:
Функция curry принимает функцию для которой необратимо провести фиксацию аргументов и массив значений аргументов, которые необходимо зафиксировать. Естественно фиксация аргументов будет производиться в порядке их объявления. На выходе получаем функция, принимающую только те аргументы, которые не были зафиксированы.
Перейдем к промышленному применению:
Как видно не вооруженным глазом в переменную loadingEventProcessor помещается функция производная от onCompleteResourceLoad, в которую будут переданы фиксированные значения loadingProcessData и изменяемое значение event.
Зачем это нужно? Что бы было весело. Такая техника как минимум позволяет избежать декларирования функций внутри других функций.