alms-0.4.9: examples/ex03-blame-error.alms
(* A Blameworthy Coercion *)
let ap =
fun f: (int -o int) ->
( (fun x: int -> f x) :> int -> int )
let inc2 =
fun y: int ->
let g = ap (fun z: int -> z + 1) in
g (g y) (* g is used twice here *)
in print (inc2 5)