Warum ist ES6 WeakMap nicht aufzählbar?

Vor meinem erneuten Einstieg in JavaScript (und verwandte) habe ich viel ActionScript 3 ausgeführt und dort hatten sie ein Dictionary-Objekt mit schwachen Schlüsseln, genau wie die kommende WeakMap. Aber die AS3-Version war immer noch wie ein normales generisches Objekt aufzählbar, während die WeakMap speziell keine hat.keys() oder.values().

Mit der AS3-Version konnten wir einige wirklich interessante und nützliche Konstrukte aufbauen, aber ich bin der Meinung, dass die JS-Version etwas eingeschränkt ist. Warum das?

Wenn die Flash-VM dies könnte, was hindert die Browser daran, dasselbe zu tun? Ich lese, wie es "nicht deterministisch" wäre, aber das ist der richtige Punkt?