TypedDictionary вместо Dictionary

Портируя одну библиотеку с AS3 на haXe, пришел к выводу, что в последнем вместо класса flash.utils.Dictionary стоит использовать flash.utils.TypedDictionary, в первую очередь из-за того, что в haXe только типизированный словарь реализует Iterator, т.е. его элементы можно перебрать в цикле типа for (i in dict).

отличаться будут объявление и создание экземпляра. примерно так:

var dict :TypedDictionary<Dynamic, Dynamic> ; // объявление
dict = new TypedDictionary<Dynamic, Dynamic>(true); // создание

если компилятор будет ругаться, что словарю нужен Int ( ... should be Int ) при присвоении, можно обойти это, используя cast:
dict[cast myObject] = ... ;

полезные ссылки по теме:
- старенькая статья Гранта Скиннера про Dictionary в AS3
- топик про перебор Dictionary на форуме haxe.org
- выдержка из листа рассылки по теме
- документация класса TypedDictionary