using Test; class Test { static public function main() {} static function doF2(f: T -> Float) : T { var arr = []; arr.doF(f); arr.doF(f); return arr.doF(f); } @:generic static function doF(array: Array, f: T -> Float) : T { return null; } }