class Main { static function main() { (1:A1)['foo']; (1:A2)['bar']; (1:A2
)['baz']; } } abstract A1(Int) from Int { @:op([]) static function get(instance: A1, key: String): String { return '${instance}${key}'; } } abstract A2(Int) from Int { @:op([]) static function get(instance: A2, key: String): String { return '${instance}${key}'; } }