T => T
という型の関数 f, g, h
があるとき
(f, g)
を受け取って x => f(g(x))
となる関数を返す関数 Aと
(f, g, h)
を受け取って x => f(g(h(x)))
となる関数を返す関数 Bを考える
[1] AとBを実装せよ
[2] AとBを一般化して、
任意の数の T => T
型の関数のリスト [f, g, h, ... ]
を受け取って
x => f( g( h( ... (x) ... ) ) )
となるような関数を返す関数 C を実装せよ