class Main { public static function foo(v:T):T return v; public static function main():Void { var a = foo; doSwitch(a); } public static function doSwitchA>(a:T):Void { switch (a){ case _.bind("asdf", "foo") => b: trace(b()); } } }