F partial(f, g) F fg(x) R @f(@g, x) R fg F main() F ffs(f, x) R x.map(a -> @f(a)) F f1(a) {R a * 2} F f2(a) {R a * a} V fsf1 = partial(ffs, f1) V fsf2 = partial(ffs, f2) print(fsf1([1, 2, 3, 4])) print(fsf2([1, 2, 3, 4])) main()