abstract A(String) {} typedef S = {a:A}; class Main { function new(s:S) {} static function getS():S return null; static function main() { new Main(getS()); } }