enum E { None; Some(v:T); } class Main { static function foo(v:E) { var a = None; return v.match(a); } static function main() { trace(foo(None)); trace(foo(Some(55))); } }