Call the translate hook in @evalAsync (so, for the initial script in load and evalAsync). Also in @evalAsync: let load.finish call @checkModuleDeclarations rather than calling it directly.
Always report errors in asynchronous APIs asynchronously.
Fix embarrassing capitalization mistake in Sam's name. Thanks to @dherman for the bug report.
References.