(* Polymorphic version: A Type-Correct, Blame-Free Program *) let ap (f: `a -A> `b) x = f x let inc y = ap ((+) 1) y in print (inc 5)