I have been wondering if one could speed proofs myself, and especially for type provers.
let fun pair x y = fn z => z x y val x1 = fn y => pair y y val x2 = fn y => x1 (x1 y) val x3 = fn y => x2 (x2 y) val x4 = fn y => x3 (x3 y) val x5 = fn y => x4 (x4 y) in x5 (fn z => z) end