/* Test coercion of polymorphic argument. */ fun add1(int x) -> int@ { return x + 1; } fun apply((fun(fun(int)->int@)->(fun(int)->int@)@) f, int x) -> int@ { return f(add1)(x); } fun id((fun(T)->T@) x) -> (fun(T)->T@)@ { return x; } fun main() -> int@ { return apply(id, -1); }