diff --git a/packages/assert/exported.js b/packages/assert/exported.js
index f4cba017ea13..e6bb3f69af27 100644
--- a/packages/assert/exported.js
+++ b/packages/assert/exported.js
@@ -1 +1 @@
-import './src/types.js';
+import './src/types-ambient.js';
diff --git a/packages/assert/src/assert.js b/packages/assert/src/assert.js
index 9ee0c8ebffd0..3598873f4e53 100644
--- a/packages/assert/src/assert.js
+++ b/packages/assert/src/assert.js
@@ -18,7 +18,7 @@
// is a record of a failed attempt to remove '.types'.
// To satisfy CI, not only do we need to keep the file,
// but we need to import it here as well.
-///
+///
const { freeze } = Object;
diff --git a/packages/assert/src/types.js b/packages/assert/src/types-ambient.js
similarity index 100%
rename from packages/assert/src/types.js
rename to packages/assert/src/types-ambient.js
diff --git a/packages/base-zone/src/types.js b/packages/base-zone/src/types.js
index d381432cfc9c..207c949837d9 100644
--- a/packages/base-zone/src/types.js
+++ b/packages/base-zone/src/types.js
@@ -1,6 +1,9 @@
// eslint-disable-next-line no-unused-vars
import { makeExo, defineExoClass, defineExoClassKit } from '@endo/exo';
+// Ensure this is a module.
+export {};
+
/** @typedef {'exoClass' | 'exoClassKit' | 'exo' | 'store' | 'zone'} KeyCategories */
/** @typedef {Record string[]>} KeyMakers */
diff --git a/packages/inter-protocol/exported.js b/packages/inter-protocol/exported.js
index bb24dbc7e956..8c5daf44e25a 100644
--- a/packages/inter-protocol/exported.js
+++ b/packages/inter-protocol/exported.js
@@ -1,2 +1,2 @@
-import './src/psm/types.js';
-import './src/vaultFactory/types.js';
+import './src/psm/types-ambient.js';
+import './src/vaultFactory/types-ambient.js';
diff --git a/packages/inter-protocol/src/psm/types.js b/packages/inter-protocol/src/psm/types-ambient.js
similarity index 100%
rename from packages/inter-protocol/src/psm/types.js
rename to packages/inter-protocol/src/psm/types-ambient.js
diff --git a/packages/inter-protocol/src/vaultFactory/params.js b/packages/inter-protocol/src/vaultFactory/params.js
index 8a92143cabf4..37a14d6c713a 100644
--- a/packages/inter-protocol/src/vaultFactory/params.js
+++ b/packages/inter-protocol/src/vaultFactory/params.js
@@ -1,6 +1,6 @@
// @jessie-check
-///
+///
import {
CONTRACT_ELECTORATE,
diff --git a/packages/inter-protocol/src/vaultFactory/types.js b/packages/inter-protocol/src/vaultFactory/types-ambient.js
similarity index 100%
rename from packages/inter-protocol/src/vaultFactory/types.js
rename to packages/inter-protocol/src/vaultFactory/types-ambient.js
diff --git a/packages/inter-protocol/test/psm/test-psm.js b/packages/inter-protocol/test/psm/test-psm.js
index 380664869225..57a99dea2a62 100644
--- a/packages/inter-protocol/test/psm/test-psm.js
+++ b/packages/inter-protocol/test/psm/test-psm.js
@@ -1,7 +1,7 @@
import { test as anyTest } from '@agoric/zoe/tools/prepare-test-env-ava.js';
import '@agoric/zoe/exported.js';
-import '../../src/vaultFactory/types.js';
+import '../../src/vaultFactory/types-ambient.js';
import { AmountMath, makeIssuerKit } from '@agoric/ertp';
import { split } from '@agoric/ertp/src/legacy-payment-helpers.js';
diff --git a/packages/inter-protocol/test/vaultFactory/driver.js b/packages/inter-protocol/test/vaultFactory/driver.js
index 022f216c73a9..f10a0afa28ad 100644
--- a/packages/inter-protocol/test/vaultFactory/driver.js
+++ b/packages/inter-protocol/test/vaultFactory/driver.js
@@ -25,7 +25,7 @@ import {
startVaultFactory,
} from '../../src/proposals/econ-behaviors.js';
import { startEconomicCommittee } from '../../src/proposals/startEconCommittee.js';
-import '../../src/vaultFactory/types.js';
+import '../../src/vaultFactory/types-ambient.js';
import {
installPuppetGovernance,
setupBootstrap,
diff --git a/packages/inter-protocol/test/vaultFactory/test-replacePriceAuthority.js b/packages/inter-protocol/test/vaultFactory/test-replacePriceAuthority.js
index 4708f58ada87..f442a7818086 100644
--- a/packages/inter-protocol/test/vaultFactory/test-replacePriceAuthority.js
+++ b/packages/inter-protocol/test/vaultFactory/test-replacePriceAuthority.js
@@ -32,7 +32,7 @@ import {
startVaultFactory,
} from '../../src/proposals/econ-behaviors.js';
-import '../../src/vaultFactory/types.js';
+import '../../src/vaultFactory/types-ambient.js';
import { defaultParamValues } from './vaultFactoryUtils.js';
/** @import {VaultFactoryContract as VFC} from '../../src/vaultFactory/vaultFactory.js' */
diff --git a/packages/inter-protocol/test/vaultFactory/test-storage.js b/packages/inter-protocol/test/vaultFactory/test-storage.js
index 35d318f68121..0235c60d91cb 100644
--- a/packages/inter-protocol/test/vaultFactory/test-storage.js
+++ b/packages/inter-protocol/test/vaultFactory/test-storage.js
@@ -7,7 +7,7 @@ import { E } from '@endo/eventual-send';
import { assertTopicPathData, subscriptionKey } from '../supports.js';
import { makeDriverContext, makeManagerDriver } from './driver.js';
-import '../../src/vaultFactory/types.js';
+import '../../src/vaultFactory/types-ambient.js';
/** @typedef {import('./driver.js').DriverContext & {}} Context */
/** @type {import('ava').TestFn} */
diff --git a/packages/inter-protocol/test/vaultFactory/test-vaultFactory.js b/packages/inter-protocol/test/vaultFactory/test-vaultFactory.js
index aba4a9c8c011..5ab027d7a214 100644
--- a/packages/inter-protocol/test/vaultFactory/test-vaultFactory.js
+++ b/packages/inter-protocol/test/vaultFactory/test-vaultFactory.js
@@ -25,7 +25,7 @@ import { deeplyFulfilled } from '@endo/marshal';
import { calculateCurrentDebt } from '../../src/interest-math.js';
import { SECONDS_PER_YEAR } from '../../src/interest.js';
import { startVaultFactory } from '../../src/proposals/econ-behaviors.js';
-import '../../src/vaultFactory/types.js';
+import '../../src/vaultFactory/types-ambient.js';
import {
metricsTracker,
reserveInitialState,
diff --git a/packages/inter-protocol/test/vaultFactory/test-vaultLiquidation.js b/packages/inter-protocol/test/vaultFactory/test-vaultLiquidation.js
index b98f8b88214d..16423355617c 100644
--- a/packages/inter-protocol/test/vaultFactory/test-vaultLiquidation.js
+++ b/packages/inter-protocol/test/vaultFactory/test-vaultLiquidation.js
@@ -25,7 +25,7 @@ import {
SECONDS_PER_WEEK as ONE_WEEK,
startVaultFactory,
} from '../../src/proposals/econ-behaviors.js';
-import '../../src/vaultFactory/types.js';
+import '../../src/vaultFactory/types-ambient.js';
import {
reserveInitialState,
subscriptionTracker,
diff --git a/packages/inter-protocol/test/vaultFactory/vaultFactoryUtils.js b/packages/inter-protocol/test/vaultFactory/vaultFactoryUtils.js
index 3ab679218b4a..7cc4157721d2 100644
--- a/packages/inter-protocol/test/vaultFactory/vaultFactoryUtils.js
+++ b/packages/inter-protocol/test/vaultFactory/vaultFactoryUtils.js
@@ -14,7 +14,7 @@ import {
setupReserve,
startAuctioneer,
} from '../../src/proposals/econ-behaviors.js';
-import '../../src/vaultFactory/types.js';
+import '../../src/vaultFactory/types-ambient.js';
import {
installPuppetGovernance,
produceInstallations,
diff --git a/packages/wallet/api/exported.js b/packages/wallet/api/exported.js
index f4cba017ea13..e6bb3f69af27 100644
--- a/packages/wallet/api/exported.js
+++ b/packages/wallet/api/exported.js
@@ -1 +1 @@
-import './src/types.js';
+import './src/types-ambient.js';
diff --git a/packages/wallet/api/src/types.js b/packages/wallet/api/src/types-ambient.js
similarity index 100%
rename from packages/wallet/api/src/types.js
rename to packages/wallet/api/src/types-ambient.js
diff --git a/packages/wallet/api/test/test-getPursesNotifier.js b/packages/wallet/api/test/test-getPursesNotifier.js
index 05c4d0035e21..757c7797baa0 100644
--- a/packages/wallet/api/test/test-getPursesNotifier.js
+++ b/packages/wallet/api/test/test-getPursesNotifier.js
@@ -11,7 +11,7 @@ import {
} from '@agoric/vats/src/nameHub.js';
import { makeWalletRoot } from '../src/lib-wallet.js';
-import '../src/types.js';
+import '../src/types-ambient.js';
const mixinMyAddress = prepareMixinMyAddress(makeHeapZone());
diff --git a/packages/wallet/api/test/test-lib-wallet.js b/packages/wallet/api/test/test-lib-wallet.js
index c83bb6df2028..db83983756c1 100644
--- a/packages/wallet/api/test/test-lib-wallet.js
+++ b/packages/wallet/api/test/test-lib-wallet.js
@@ -21,7 +21,7 @@ import { resolve as importMetaResolve } from 'import-meta-resolve';
import { makeHeapZone } from '@agoric/zone';
import { makeWalletRoot } from '../src/lib-wallet.js';
-import '../src/types.js';
+import '../src/types-ambient.js';
const ZOE_INVITE_PURSE_PETNAME = 'Default Zoe invite purse';
diff --git a/packages/zoe/src/contracts/callSpread/calculateShares.js b/packages/zoe/src/contracts/callSpread/calculateShares.js
index 1f6432111246..47bd8a781d9b 100644
--- a/packages/zoe/src/contracts/callSpread/calculateShares.js
+++ b/packages/zoe/src/contracts/callSpread/calculateShares.js
@@ -1,4 +1,4 @@
-///
+///
import { AmountMath, isNatValue } from '@agoric/ertp';
import { assert } from '@agoric/assert';
diff --git a/packages/zoe/src/contracts/callSpread/fundedCallSpread.js b/packages/zoe/src/contracts/callSpread/fundedCallSpread.js
index f31827dec4f5..bf695aad4997 100644
--- a/packages/zoe/src/contracts/callSpread/fundedCallSpread.js
+++ b/packages/zoe/src/contracts/callSpread/fundedCallSpread.js
@@ -1,4 +1,4 @@
-///
+///
import { makePromiseKit } from '@endo/promise-kit';
import { E } from '@endo/eventual-send';
diff --git a/packages/zoe/src/contracts/callSpread/payoffHandler.js b/packages/zoe/src/contracts/callSpread/payoffHandler.js
index 4de7fe2c7cfa..40b854dec8ef 100644
--- a/packages/zoe/src/contracts/callSpread/payoffHandler.js
+++ b/packages/zoe/src/contracts/callSpread/payoffHandler.js
@@ -1,5 +1,5 @@
/* eslint @typescript-eslint/no-floating-promises: "warn" */
-///
+///
import { E } from '@endo/eventual-send';
import { AmountMath } from '@agoric/ertp';
diff --git a/packages/zoe/src/contracts/callSpread/pricedCallSpread.js b/packages/zoe/src/contracts/callSpread/pricedCallSpread.js
index f4695017cccc..67cc94c23a64 100644
--- a/packages/zoe/src/contracts/callSpread/pricedCallSpread.js
+++ b/packages/zoe/src/contracts/callSpread/pricedCallSpread.js
@@ -1,5 +1,5 @@
/* eslint @typescript-eslint/no-floating-promises: "warn" */
-///
+///
import { makePromiseKit } from '@endo/promise-kit';
import { E } from '@endo/eventual-send';
diff --git a/packages/zoe/src/contracts/callSpread/types.js b/packages/zoe/src/contracts/callSpread/types-ambient.js
similarity index 100%
rename from packages/zoe/src/contracts/callSpread/types.js
rename to packages/zoe/src/contracts/callSpread/types-ambient.js
diff --git a/packages/zoe/src/contracts/exported.js b/packages/zoe/src/contracts/exported.js
index 807a84955c05..c567a18fd4f9 100644
--- a/packages/zoe/src/contracts/exported.js
+++ b/packages/zoe/src/contracts/exported.js
@@ -1,4 +1,4 @@
-///
+///
// eslint-disable-next-line no-restricted-syntax
-import './loan/types.js';
-import './callSpread/types.js';
+import './loan/types-ambient.js';
+import './callSpread/types-ambient.js';
diff --git a/packages/zoe/src/contracts/loan/close.js b/packages/zoe/src/contracts/loan/close.js
index 767ba7a68376..5a83051bd010 100644
--- a/packages/zoe/src/contracts/loan/close.js
+++ b/packages/zoe/src/contracts/loan/close.js
@@ -1,4 +1,4 @@
-///
+///
import { Fail } from '@agoric/assert';
import { AmountMath } from '@agoric/ertp';
diff --git a/packages/zoe/src/contracts/loan/types.js b/packages/zoe/src/contracts/loan/types-ambient.js
similarity index 100%
rename from packages/zoe/src/contracts/loan/types.js
rename to packages/zoe/src/contracts/loan/types-ambient.js
diff --git a/packages/zoe/src/contracts/types.js b/packages/zoe/src/contracts/types-ambient.js
similarity index 100%
rename from packages/zoe/src/contracts/types.js
rename to packages/zoe/src/contracts/types-ambient.js