fun foo(T a, fun(T)->T f) -> T { return f(a); } fun id(float x) -> float { return x; } fun main() -> int@ { return foo(0, id); }