static O fg(fO f, fO g) { ret func(O o) { callF(f, callF(g, o)) }; } static O fg(fO f, fO g, fO h) { ret func(O o) { callF(f, callF(g, callF(h, o))) }; }