Код по ссылке - ну не совсем бесполезный, конечно, но оставляет желать много лучшего по следующим причинам:
1. писатели пытались скопировать устройство из Явы, и поэтому написали много дурацкого и / или бесполезного кода.
2. писатели не знали, как на самом деле должны работать те или иные вещи (например, списки у них добавляют в конец, а не в начало).
3. в библиотеке нет даже необходимого минимума для работы с коллекциями, типа сортировки, поиска, удаления, конкатенации и т.п. Поскольку п. 1. то людям не пришло в голову использовать функции высшего порядка для реализации таких идей. В общем случае код плохо расширяемый / бессистемный.
Но так чтобы сказать "не используйте это, потому, что есть лучше" - увы, я не в курсе про "лучше", мне не попадалось. Из практических соображений (т.е. скорость работы / тривиальность подавляющего большинства задач, которые приходится решать), отсутствие менее тривиальных коллекций очень редко когда сильно мешало.
Кроме всего прочего, стоит заметить очень наивные реализации всего, что там заявлено и плохое понимание основ AS3. Например:

Код AS3:
public function nextKey(key : *) : * {
var node : SortedMapNode = getNode(key);
if (node) {
node = nextNode_internal(node) as SortedMapNode;
if (node) return node.key;
}
// a function returns undefined, unless otherwise specified.
return undefined;
}
комментарии мои.

Код AS3:
public function add(key : *, item : *) : Boolean {
if (key is String) {
// should be `key in _stringMap' instead.
// keys are allowed to be undefined, but this doesn't
// mean they aren't in the hash-table.
if (_stringMap[key] !== undefined) return false;
} else {
if (_keys[key] !== undefined) return false;
}
addNode(new SortedMapNode(key, item));
return true;
}
Опять же, комментарий мой. Наивность реализации заключается в том, что для сортированной хеш-таблицы было бы куда выгоднее использовать массив, или два массива, вместо использования двух (а в реальности трех) хеш таблиц.