fn a => fn b => (fn c => (fn d => d c) b) a 'a->('a->'b)->'b