In case of cycles, modules may have export fields in deadzone which throw upon access. Because Aran hoists module declarations at the beginning of modules, these deadzones are no longer honored.
import * as self from "./self.mjs";
console.log({ foo: self.foo });
export const foo = 123;
Normal output:
ReferenceError: Cannot access 'foo' before initialization
Aran output:
{ foo: undefined }