diff --git a/packages/turf-distance/index.ts b/packages/turf-distance/index.ts
index dfee90be94..186b15a58f 100644
--- a/packages/turf-distance/index.ts
+++ b/packages/turf-distance/index.ts
@@ -1,14 +1,15 @@
 import { Point } from "geojson";
 import { getCoord } from "@turf/invariant";
+import type { Coord, Datum, Units } from "@turf/helpers";
 import {
+  datums,
   radiansToLength,
   degreesToRadians,
-  datums,
-  Coord,
-  Datum,
-  Units,
   convertLength,
 } from "@turf/helpers";
+// Unable to find an equivalent import statement that works. Fails when building
+// index.mjs → turf.min.js in packages/turf/
+// import { LatLonEllipsoidal as LatLon } from "geodesy";
 const LatLon = require("geodesy").LatLonEllipsoidal;
 
 //http://en.wikipedia.org/wiki/Haversine_formula
@@ -142,7 +143,10 @@ function geodesic_ellipsoid_distance(
     fromLatLon.datum = datums.WGS84;
   }
 
-  const meters = fromLatLon.distanceTo(toLatLon);
+  // LatLonEllipsoidal types don't properly list all base LatLon functions
+  // e.g. distanceTo. Should be able to remove when we can move to a newer
+  // version of geodesy.
+  const meters = (fromLatLon as any).distanceTo(toLatLon);
   // geodesy lib result is in meters
   return convertLength(meters, "meters", options.units);
 }
diff --git a/packages/turf-distance/test.js b/packages/turf-distance/test.js
index 7a00755d7b..fcc6281302 100644
--- a/packages/turf-distance/test.js
+++ b/packages/turf-distance/test.js
@@ -3,7 +3,7 @@ const path = require("path");
 const test = require("tape");
 const load = require("load-json-file");
 const write = require("write-json-file");
-import { datums, point } from "@turf/helpers";
+const { datums, point } = require("@turf/helpers");
 const distance = require("./index").default;
 
 const directories = {
diff --git a/packages/turf-helpers/index.ts b/packages/turf-helpers/index.ts
index b03f772d39..871d255226 100644
--- a/packages/turf-helpers/index.ts
+++ b/packages/turf-helpers/index.ts
@@ -14,7 +14,11 @@ import {
   Position,
   GeoJsonProperties,
 } from "geojson";
-import { Datums, LatLonEllipsoidal } from "geodesy";
+import type { Datum } from "geodesy";
+// Unable to find an equivalent import statement that works. Fails when building
+// index.mjs → turf.min.js in packages/turf/
+// import { LatLonEllipsoidal as LatLon } from "geodesy";
+const LatLon = require("geodesy").LatLonEllipsoidal;
 
 import { Id } from "./lib/geojson";
 export * from "./lib/geojson";
@@ -122,11 +126,12 @@ export const areaFactors: Record<AreaUnits, number> = {
  * @memberof helpers
  * @type {Object}
  */
-export const datums: Datums = LatLonEllipsoidal.datum;
+const datums = LatLon.datum;
+export { datums };
 
 // Re-export type from geodesy so clients don't need to refer directly to
 // geodesy types.
-export type { Datum } from "geodesy";
+export type { Datum };
 
 /**
  * Wraps a GeoJSON {@link Geometry} in a GeoJSON {@link Feature}.
diff --git a/packages/turf-length/index.ts b/packages/turf-length/index.ts
index 984e41f7ff..a91fa15875 100644
--- a/packages/turf-length/index.ts
+++ b/packages/turf-length/index.ts
@@ -1,6 +1,6 @@
 import { Feature, FeatureCollection, GeometryCollection } from "geojson";
 import distance from "@turf/distance";
-import { Datum, Units } from "@turf/helpers";
+import type { Datum, Units } from "@turf/helpers";
 import { segmentReduce } from "@turf/meta";
 
 /**