I foolishly have been thinking about the Geach operator much too mechanically and missing out on what it actually is.

(To geach a function f: λG[λH[f(G(H))]] – um, how did I miss this?)