makeStaticModuleInterface = (ns) => {
  return freeze(
    /** @type {ThirdPartyStaticModuleInterface} */ ({
      // builtins have no imports (as far as we're concerned)
      imports: [],
      exports: isObject(ns) ? keys(ns) : [],
      execute: (moduleExports) => {
        // this is a no-op if `ns` is a non-object
        moduleExports.default = ns
        assign(moduleExports, ns)
      },
    })
  )
}
Given some `ns`, create a {@link ThirdPartyStaticModuleInterface}

@param {unknown} ns Namespace
@returns {Readonly<ThirdPartyStaticModuleInterface>}