引数が2個必要な関数があった時、とりあえず、まず1つの引数を受け取って、その後で残りの1つの引数を受け取る。 と言う手法です。
// カリー化していない関数
const add = (a: number, b: number): number => a + b;
add(2, 3); // 5
// カリー化した関数
const curriedAdd = (a: number) => (b: number): number => a + b;
curriedAdd(2)(3); // 5
// 部分適用の例
const add2 = curriedAdd(2); // 2を固定した新しい関数
add2(3); // 5
add2(4); // 6