Repository: karen-irc/option-t
Pull request #1565 (2023-02-06 19:10:04)

Remove irregular code path to generate compat exports


Patch:
diff --git a/package-lock.json b/package-lock.json
index d46020f5..3576c3f1 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -5931,7 +5931,7 @@
             "license": "MIT",
             "dependencies": {
                 "ava": "^5.1.1",
-                "option-t": "*"
+                "option-t": "../option-t"
             }
         },
         "packages/option-t": {
diff --git a/packages/option-t/tools/package_json_rewriter/main.mjs b/packages/option-t/tools/package_json_rewriter/main.mjs
index c8c84b07..2bd58d5a 100644
--- a/packages/option-t/tools/package_json_rewriter/main.mjs
+++ b/packages/option-t/tools/package_json_rewriter/main.mjs
@@ -24,7 +24,7 @@ async function writePackageJSON(baseDir, outputPath, content) {
         recursive: true,
     });
 
-    await fs.writeFile(p, text, {
+    await fs.writeFile(p, text + `\n`, {
         encoding: 'utf8',
     });
 }
diff --git a/packages/option-t/tools/package_json_rewriter/transformer/add_exports_field/ExportEntry.mjs b/packages/option-t/tools/package_json_rewriter/transformer/add_exports_field/ExportEntry.mjs
index 17d78691..2454172c 100644
--- a/packages/option-t/tools/package_json_rewriter/transformer/add_exports_field/ExportEntry.mjs
+++ b/packages/option-t/tools/package_json_rewriter/transformer/add_exports_field/ExportEntry.mjs
@@ -97,6 +97,18 @@ export class CompatExportEntry extends AbstractExportEntry {
         return k;
     }
 
+    pathValue() {
+        const original = this.#original;
+        if (original.hasPathOverride()) {
+            const p = original.filepath();
+            const k = `./${p}`;
+            return k;
+        }
+
+        const k = this.key();
+        return k;
+    }
+
     _toExportEntry() {
         throw new EvalError(`please override on ${this.constructor.name}`);
     }
@@ -115,7 +127,7 @@ class CommonJSCompatFileExport extends CompatExportEntry {
     }
 
     _toExportEntry() {
-        const key = this.key();
+        const key = this.pathValue();
         const dts = `${key}.${EXTENSION_DCTS}`;
 
         const p = `${key}.${EXTENSION_CJS}`;
@@ -136,7 +148,7 @@ class ESModuleCompatFileExport extends CompatExportEntry {
     }
 
     _toExportEntry() {
-        const key = this.key();
+        const key = this.pathValue();
         const dts = `${key}.${EXTENSION_DMTS}`;
 
         const p = `${key}.${EXTENSION_MJS}`;
@@ -161,7 +173,7 @@ class LibCompatFileExport extends CompatExportEntry {
     }
 
     _toExportEntry() {
-        const key = this.key();
+        const key = this.pathValue();
 
         const esmKey = key.replace(LIB_PATH_PREFIX, ESM_PATH_PREFIX);
         assert.ok(esmKey.startsWith(ESM_PATH_PREFIX));
@@ -183,103 +195,6 @@ class LibCompatFileExport extends CompatExportEntry {
     }
 }
 
-class AbstractCompatDirExport extends AbstractExportEntry {
-    #dirpath;
-    #extension;
-    #dtsExtension;
-
-    constructor(dirpath, ext, dtsExt) {
-        super();
-        this.#dirpath = dirpath;
-        this.#extension = ext;
-        this.#dtsExtension = dtsExt;
-    }
-
-    key() {
-        const key = `./${this.#dirpath}`;
-        return key;
-    }
-
-    #toExportEntry() {
-        const key = this.key();
-        const filepath = `${key}/index`;
-        const ext = this.#extension;
-        const fullpath = `${filepath}.${ext}`;
-        const dtsExt = this.#dtsExtension;
-        const dts = `${filepath}.${dtsExt}`;
-
-        const value = constructPathValue({
-            dts,
-            filepath: fullpath,
-        });
-        return value;
-    }
-
-    toJSON() {
-        return this.#toExportEntry();
-    }
-}
-
-export class CommonJSCompatDirExport extends AbstractCompatDirExport {
-    constructor(dirpath) {
-        const p = `cjs/${dirpath}`;
-        super(p, EXTENSION_CJS, EXTENSION_DCTS);
-        Object.freeze(this);
-    }
-}
-
-export class ESModuleCompatDirExport extends AbstractCompatDirExport {
-    constructor(dirpath) {
-        const p = `esm/${dirpath}`;
-        super(p, EXTENSION_MJS, EXTENSION_DMTS);
-        Object.freeze(this);
-    }
-}
-
-export class LibCompatDirExport extends AbstractExportEntry {
-    #dirpath;
-
-    constructor(path) {
-        super();
-        const dirpath = `lib/${path}`;
-        this.#dirpath = dirpath;
-
-        Object.freeze(this);
-    }
-
-    key() {
-        const key = `./${this.#dirpath}`;
-        return key;
-    }
-
-    #toExportEntry() {
-        const key = this.key();
-        const actualPath = `${key}/index`;
-
-        const esmKey = actualPath.replace(LIB_PATH_PREFIX, ESM_PATH_PREFIX);
-        assert.ok(esmKey.startsWith(ESM_PATH_PREFIX));
-        const mjs = `${esmKey}.${EXTENSION_MJS}`;
-        const dmts = `${esmKey}.${EXTENSION_DMTS}`;
-
-        const cjsKey = actualPath.replace(LIB_PATH_PREFIX, CJS_PATH_PREFIX);
-        assert.ok(cjsKey.startsWith(CJS_PATH_PREFIX));
-        const cjs = `${cjsKey}.${EXTENSION_CJS}`;
-        const dcts = `${cjsKey}.${EXTENSION_DCTS}`;
-
-        const value = constructDualPackagePathValue({
-            cjs,
-            esm: mjs,
-            dmts,
-            dcts
-        });
-        return value;
-    }
-
-    toJSON() {
-        return this.#toExportEntry();
-    }
-}
-
 function constructDualPackagePathValue({ cjs, esm, dmts, dcts }) {
     assert.strictEqual(typeof cjs, 'string', 'cjs should be string');
     assert.strictEqual(typeof esm, 'string', 'esm should be string');
diff --git a/packages/option-t/tools/package_json_rewriter/transformer/add_exports_field/compatibility.mjs b/packages/option-t/tools/package_json_rewriter/transformer/add_exports_field/compatibility.mjs
index cd38a5af..99476b50 100644
--- a/packages/option-t/tools/package_json_rewriter/transformer/add_exports_field/compatibility.mjs
+++ b/packages/option-t/tools/package_json_rewriter/transformer/add_exports_field/compatibility.mjs
@@ -2,9 +2,6 @@ import * as assert from 'node:assert/strict';
 
 import {
     CompatExportEntry,
-    CommonJSCompatDirExport,
-    ESModuleCompatDirExport,
-    LibCompatDirExport,
 } from './ExportEntry.mjs';
 
 export function addHistoricalPathToExportsFields(o, histricalJSPathSeq) {
@@ -17,34 +14,4 @@ export function addHistoricalPathToExportsFields(o, histricalJSPathSeq) {
         // eslint-disable-next-line no-param-reassign
         o[key] = entry;
     }
-
-    const DIR_SUBPATH = [
-        'ClassicOption',
-        'ClassicResult',
-        'Maybe',
-        'Nullable',
-        'PlainOption',
-        'PlainResult',
-        'Undefinable',
-    ];
-
-    const handleSpecialCaseOfNodeModuleResolution = (list, aCtor) => {
-        for (const item of list) {
-            // eslint-disable-next-line new-cap
-            const entry = new aCtor(item);
-            const key = entry.key();
-            // eslint-disable-next-line no-param-reassign
-            o[key] = entry;
-        }
-    };
-
-    handleSpecialCaseOfNodeModuleResolution(DIR_SUBPATH, CommonJSCompatDirExport);
-    handleSpecialCaseOfNodeModuleResolution(DIR_SUBPATH, ESModuleCompatDirExport);
-    // Our defult is still commonjs. For lib/, we should use `.js`.
-    for (const dirpath of DIR_SUBPATH) {
-        const entry = new LibCompatDirExport(dirpath);
-        const key = entry.key();
-        // eslint-disable-next-line no-param-reassign
-        o[key] = entry;
-    }
 }
diff --git a/packages/option-t/tools/public_api/ExposedPath.mjs b/packages/option-t/tools/public_api/ExposedPath.mjs
index f3c5dc54..ebbac97b 100644
--- a/packages/option-t/tools/public_api/ExposedPath.mjs
+++ b/packages/option-t/tools/public_api/ExposedPath.mjs
@@ -17,7 +17,12 @@ export class ExposedPath {
     }
 
     filepath() {
-        return this.#raw.path ?? null;
+        return this.#raw.actualFilePath ?? null;
+    }
+
+    hasPathOverride() {
+        const ok = this.filepath() !== null;
+        return ok;
     }
 
     resolvedName() {
@@ -30,10 +35,6 @@ export class ExposedPath {
         return concat;
     }
 
-    exports() {
-        return this.#raw.exports ?? null;
-    }
-
     isForCompat() {
         return false;
     }
diff --git a/packages/option-t/tools/public_api/table.mjs b/packages/option-t/tools/public_api/table.mjs
index 35a9787a..32d149fa 100644
--- a/packages/option-t/tools/public_api/table.mjs
+++ b/packages/option-t/tools/public_api/table.mjs
@@ -1,852 +1,161 @@
+function pathRedirectionTo(actualFilePath) {
+    return Object.freeze({
+        actualFilePath,
+    });
+}
+
+const API_DESCRIPTOR = Object.freeze({});
+
 export const apiTable = Object.freeze({
-    '.': {
-        'path': 'index',
-        'exports': []
-    },
+    '.': pathRedirectionTo('index'),
+
+    'Maybe': pathRedirectionTo('Maybe/index'),
 
-    'Maybe': {
-        'path': 'Maybe/index',
-        'exports': [
-            'isNotNullAndUndefined',
-            'isNullOrUndefined',
-            'andThen',
-            'andThenAsync',
-            'expect',
-            'expectNotNullAndUndefined',
-            'inspect',
-            'map',
-            'mapAsync',
-            'mapOr',
-            'mapOrAsync',
-            'mapOrElse',
-            'mapOrElseAsync',
-            'orElse',
-            'orElseAsync',
-            'unwrap',
-            'unwrapMaybe',
-            'unwrapOr',
-            'unwrapOrElse',
-            'unwrapOrElseAsync',
-        ]
-    },
-    'Maybe/and': {
-        'exports': [
-            'andForMaybe'
-        ]
-    },
-    'Maybe/andThen': {
-        'exports': [
-            'andThenForMaybe'
-        ]
-    },
-    'Maybe/andThenAsync': {
-        'exports': [
-            'andThenAsyncForMaybe'
-        ]
-    },
-    'Maybe/expect': {
-        'exports': [
-            'expectNotNullAndUndefined'
-        ]
-    },
-    'Maybe/inspect': {
-        'exports': [
-            'inspectMaybe'
-        ]
-    },
-    'Maybe/map': {
-        'exports': [
-            'mapForMaybe'
-        ]
-    },
-    'Maybe/mapAsync': {
-        'exports': [
-            'mapAsyncForMaybe'
-        ]
-    },
-    'Maybe/Maybe': {
-        'exports': [
-            'isNotNullAndUndefined',
-            'isNullOrUndefined',
-            'expectNotNullAndUndefined',
-            'unwrapMaybe',
-        ]
-    },
-    'Maybe/mapOr': {
-        'exports': [
-            'mapOrForMaybe'
-        ]
-    },
-    'Maybe/mapOrAsync': {
-        'exports': [
-            'mapOrAsyncForMaybe'
-        ]
-    },
-    'Maybe/mapOrElse': {
-        'exports': [
-            'mapOrElseForMaybe'
-        ]
-    },
-    'Maybe/mapOrElseAsync': {
-        'exports': [
-            'mapOrElseAsyncForMaybe'
-        ]
-    },
-    'Maybe/or': {
-        'exports': [
-            'orForMaybe'
-        ]
-    },
-    'Maybe/orElse': {
-        'exports': [
-            'orElseForMaybe'
-        ]
-    },
-    'Maybe/orElseAsync': {
-        'exports': [
-            'orElseAsyncForMaybe'
-        ]
-    },
-    'Maybe/toNullable': {
-        'exports': [
-            'toNullableFromMaybe'
-        ]
-    },
-    'Maybe/toUndefinable': {
-        'exports': [
-            'toUndefinableFromMaybe'
-        ]
-    },
-    'Maybe/unwrap': {
-        'exports': [
-            'unwrapMaybe'
-        ]
-    },
-    'Maybe/unwrapOr': {
-        'exports': [
-            'unwrapOrFromMaybe'
-        ]
-    },
-    'Maybe/unwrapOrElse': {
-        'exports': [
-            'unwrapOrElseFromMaybe'
-        ]
-    },
-    'Maybe/unwrapOrElseAsync': {
-        'exports': [
-            'unwrapOrElseAsyncFromMaybe'
-        ]
-    },
-    'Maybe/xor': {
-        'exports': [
-            'xorForMaybe'
-        ]
-    },
+    'Maybe/and': API_DESCRIPTOR,
+    'Maybe/andThen': API_DESCRIPTOR,
+    'Maybe/andThenAsync': API_DESCRIPTOR,
+    'Maybe/expect': API_DESCRIPTOR,
+    'Maybe/inspect': API_DESCRIPTOR,
+    'Maybe/map': API_DESCRIPTOR,
+    'Maybe/mapAsync': API_DESCRIPTOR,
+    'Maybe/Maybe': API_DESCRIPTOR,
+    'Maybe/mapOr': API_DESCRIPTOR,
+    'Maybe/mapOrAsync': API_DESCRIPTOR,
+    'Maybe/mapOrElse': API_DESCRIPTOR,
+    'Maybe/mapOrElseAsync': API_DESCRIPTOR,
+    'Maybe/or': API_DESCRIPTOR,
+    'Maybe/orElse': API_DESCRIPTOR,
+    'Maybe/orElseAsync': API_DESCRIPTOR,
+    'Maybe/toNullable': API_DESCRIPTOR,
+    'Maybe/toUndefinable': API_DESCRIPTOR,
+    'Maybe/unwrap': API_DESCRIPTOR,
+    'Maybe/unwrapOr': API_DESCRIPTOR,
+    'Maybe/unwrapOrElse': API_DESCRIPTOR,
+    'Maybe/unwrapOrElseAsync': API_DESCRIPTOR,
+    'Maybe/xor': API_DESCRIPTOR,
 
-    'Nullable': {
-        'path': 'Nullable/index',
-        'exports': [
-            'isNotNull',
-            'isNull',
-            'andThen',
-            'andThenAsync',
-            'expect',
-            'expectNotNull',
-            'inspect',
-            'map',
-            'mapAsync',
-            'mapOr',
-            'mapOrAsync',
-            'mapOrElse',
-            'mapOrElseAsync',
-            'orElse',
-            'orElseAsync',
-            'unwrap',
-            'unwrapNullable',
-            'unwrapOr',
-            'unwrapOrElse',
-            'unwrapOrElseAsync',
-        ]
-    },
-    'Nullable/and': {
-        'exports': [
-            'andForNullable',
-        ]
-    },
-    'Nullable/andThen': {
-        'exports': [
-            'andThenForNullable'
-        ]
-    },
-    'Nullable/andThenAsync': {
-        'exports': [
-            'andThenAsyncForNullable'
-        ]
-    },
-    'Nullable/expect': {
-        'exports': [
-            'expectNotNull',
-        ]
-    },
-    'Nullable/inspect': {
-        'exports': [
-            'inspectNullable'
-        ]
-    },
-    'Nullable/map': {
-        'exports': [
-            'mapForNullable'
-        ]
-    },
-    'Nullable/mapAsync': {
-        'exports': [
-            'mapAsyncForNullable'
-        ]
-    },
-    'Nullable/mapOr': {
-        'exports': [
-            'mapOrForNullable',
-        ]
-    },
-    'Nullable/mapOrAsync': {
-        'exports': [
-            'mapOrAsyncForNullable',
-        ]
-    },
-    'Nullable/mapOrElse': {
-        'exports': [
-            'mapOrElseForNullable'
-        ]
-    },
-    'Nullable/mapOrElseAsync': {
-        'exports': [
-            'mapOrElseAsyncForNullable'
-        ]
-    },
-    'Nullable/Nullable': {
-        'exports': [
-            'isNotNull',
-            'isNull',
-            'expectNotNull',
-            'unwrapNullable',
-        ]
-    },
-    'Nullable/or': {
-        'exports': [
-            'orForNullable'
-        ]
-    },
-    'Nullable/orElse': {
-        'exports': [
-            'orElseForNullable'
-        ]
-    },
-    'Nullable/orElseAsync': {
-        'exports': [
-            'orElseAsyncForNullable'
-        ]
-    },
-    'Nullable/toUndefinable': {
-        'exports': [
-            'toUndefinableFromNullable'
-        ]
-    },
-    'Nullable/unwrap': {
-        'exports': [
-            'unwrapNullable'
-        ]
-    },
-    'Nullable/unwrapOr': {
-        'exports': [
-            'unwrapOrFromNullable'
-        ]
-    },
-    'Nullable/unwrapOrElse': {
-        'exports': [
-            'unwrapOrElseFromNullable'
-        ]
-    },
-    'Nullable/unwrapOrElseAsync': {
-        'exports': [
-            'unwrapOrElseAsyncFromNullable'
-        ]
-    },
-    'Nullable/xor': {
-        'exports': [
-            'xorForNullable'
-        ]
-    },
+    'Nullable': pathRedirectionTo('Nullable/index'),
 
-    'PlainOption': {
-        'path': 'PlainOption/index',
-        'exports': [
-            'createSome',
-            'createNone',
-            'isSome',
-            'isNone',
-            'and',
-            'andThen',
-            'andThenAsync',
-            'equal',
-            'expect',
-            'expectSome',
-            'inspect',
-            'filter',
-            'flatten',
-            'map',
-            'mapAsync',
-            'mapOr',
-            'mapOrAsync',
-            'mapOrElse',
-            'mapOrElseAsync',
-            'or',
-            'orElse',
-            'orElseAsync',
-            'transpose',
-            'unwrap',
-            'unwrapSome',
-            'unwrapOr',
-            'unwrapOrElse',
-            'unwrapOrElseAsync',
-        ]
-    },
+    'Nullable/and': API_DESCRIPTOR,
+    'Nullable/andThen': API_DESCRIPTOR,
+    'Nullable/andThenAsync': API_DESCRIPTOR,
+    'Nullable/expect': API_DESCRIPTOR,
+    'Nullable/inspect': API_DESCRIPTOR,
+    'Nullable/map': API_DESCRIPTOR,
+    'Nullable/mapAsync': API_DESCRIPTOR,
+    'Nullable/mapOr': API_DESCRIPTOR,
+    'Nullable/mapOrAsync': API_DESCRIPTOR,
+    'Nullable/mapOrElse': API_DESCRIPTOR,
+    'Nullable/mapOrElseAsync': API_DESCRIPTOR,
+    'Nullable/Nullable': API_DESCRIPTOR,
+    'Nullable/or': API_DESCRIPTOR,
+    'Nullable/orElse': API_DESCRIPTOR,
+    'Nullable/orElseAsync': API_DESCRIPTOR,
+    'Nullable/toUndefinable': API_DESCRIPTOR,
+    'Nullable/unwrap': API_DESCRIPTOR,
+    'Nullable/unwrapOr': API_DESCRIPTOR,
+    'Nullable/unwrapOrElse': API_DESCRIPTOR,
+    'Nullable/unwrapOrElseAsync': API_DESCRIPTOR,
+    'Nullable/xor': API_DESCRIPTOR,
 
-    'PlainOption/and': {
-        'exports': [
-            'andForOption'
-        ]
-    },
-    'PlainOption/andThen': {
-        'exports': [
-            'andThenForOption'
-        ]
-    },
-    'PlainOption/andThenAsync': {
-        'exports': [
-            'andThenAsyncForOption'
-        ]
-    },
-    'PlainOption/asMut': {
-        'exports': [
-            'asMutOption'
-        ]
-    },
-    'PlainOption/drop': {
-        'exports': [
-            'unsafeDropForOption'
-        ]
-    },
-    'PlainOption/equal': {
-        'exports': [
-            'equalForOption'
-        ]
-    },
-    'PlainOption/expect': {
-        'exports': [
-            'expectSomeForOption',
-            'expectIsSome'
-        ]
-    },
-    'PlainOption/filter': {
-        'exports': [
-            'filterForOption',
-        ]
-    },
-    'PlainOption/flatten': {
-        'exports': [
-            'flattenForOption'
-        ]
-    },
-    'PlainOption/inspect': {
-        'exports': [
-            'inspectOption'
-        ]
-    },
-    'PlainOption/map': {
-        'exports': [
-            'mapForOption'
-        ]
-    },
-    'PlainOption/mapAsync': {
-        'exports': [
-            'mapAsyncForOption'
-        ]
-    },
-    'PlainOption/mapOr': {
-        'exports': [
-            'mapOrForOption'
-        ]
-    },
-    'PlainOption/mapOrAsync': {
-        'exports': [
-            'mapOrAsyncForOption'
-        ]
-    },
-    'PlainOption/mapOrElse': {
-        'exports': [
-            'mapOrElseForOption'
-        ]
-    },
-    'PlainOption/mapOrElseAsync': {
-        'exports': [
-            'mapOrElseAsyncForOption'
-        ]
-    },
-    'PlainOption/okOr': {
-        'exports': [
-            'okOrForPlainOption'
-        ]
-    },
-    'PlainOption/okOrElse': {
-        'exports': [
-            'okOrElseForPlainOption'
-        ]
-    },
-    'PlainOption/Option': {
-        'exports': [
-            'isSome',
-            'isNone',
-            'createSome',
-            'createNone',
-            'unwrapSome',
-            'expectSome',
-        ]
-    },
-    'PlainOption/or': {
-        'exports': [
-            'orForOption'
-        ]
-    },
-    'PlainOption/orElse': {
-        'exports': [
-            'orElseForOption'
-        ]
-    },
-    'PlainOption/orElseAsync': {
-        'exports': [
-            'orElseAsyncForOption'
-        ]
-    },
-    'PlainOption/transpose': {
-        'exports': [
-            'transposeForOption'
-        ]
-    },
-    'PlainOption/toNullable': {
-        'exports': [
-            'toNullableFromOption'
-        ]
-    },
-    'PlainOption/toUndefinable': {
-        'exports': [
-            'toUndefinableFromOption'
-        ]
-    },
-    'PlainOption/unwrap': {
-        'exports': [
-            'unwrapOption',
-            'unwrapSomeFromOption',
-        ]
-    },
-    'PlainOption/unwrapOr': {
-        'exports': [
-            'unwrapOrFromOption'
-        ]
-    },
-    'PlainOption/unwrapOrElse': {
-        'exports': [
-            'unwrapOrElseFromOption'
-        ]
-    },
-    'PlainOption/unwrapOrElseAsync': {
-        'exports': [
-            'unwrapOrElseAsyncFromOption'
-        ]
-    },
-    'PlainOption/xor': {
-        'exports': [
-            'xorForOption'
-        ]
-    },
+    'PlainOption': pathRedirectionTo('PlainOption/index'),
 
-    'PlainResult': {
-        'path': 'PlainResult/index',
-        'exports': [
-            'createOk',
-            'createErr',
-            'isOk',
-            'isErr',
-            'and',
-            'andThen',
-            'andThenAsync',
-            'equal',
-            'expect',
-            'expectOk',
-            'expectIsOk',
-            'expectErr',
-            'expectIsErr',
-            'inspectOk',
-            'inspectErr',
-            'inspectBoth',
-            'flatten',
-            'map',
-            'mapAsync',
-            'mapOr',
-            'mapOrAsync',
-            'mapOrElse',
-            'mapOrElseAsync',
-            'mapErr',
-            'mapErrAsync',
-            'or',
-            'orElse',
-            'orElseAsync',
-            'transpose',
-            'toOptionFromOk',
-            'toOptionFromErr',
-            'unwrap',
-            'unwrapOk',
-            'unwrapErr',
-            'unwrapOr',
-            'unwrapOrElse',
-            'unwrapOrElseAsync',
-        ]
-    },
+    'PlainOption/and': API_DESCRIPTOR,
+    'PlainOption/andThen': API_DESCRIPTOR,
+    'PlainOption/andThenAsync': API_DESCRIPTOR,
+    'PlainOption/asMut': API_DESCRIPTOR,
+    'PlainOption/drop': API_DESCRIPTOR,
+    'PlainOption/equal': API_DESCRIPTOR,
+    'PlainOption/expect': API_DESCRIPTOR,
+    'PlainOption/filter': API_DESCRIPTOR,
+    'PlainOption/flatten': API_DESCRIPTOR,
+    'PlainOption/inspect': API_DESCRIPTOR,
+    'PlainOption/map': API_DESCRIPTOR,
+    'PlainOption/mapAsync': API_DESCRIPTOR,
+    'PlainOption/mapOr': API_DESCRIPTOR,
+    'PlainOption/mapOrAsync': API_DESCRIPTOR,
+    'PlainOption/mapOrElse': API_DESCRIPTOR,
+    'PlainOption/mapOrElseAsync': API_DESCRIPTOR,
+    'PlainOption/okOr': API_DESCRIPTOR,
+    'PlainOption/okOrElse': API_DESCRIPTOR,
+    'PlainOption/Option': API_DESCRIPTOR,
+    'PlainOption/or': API_DESCRIPTOR,
+    'PlainOption/orElse': API_DESCRIPTOR,
+    'PlainOption/orElseAsync': API_DESCRIPTOR,
+    'PlainOption/transpose': API_DESCRIPTOR,
+    'PlainOption/toNullable': API_DESCRIPTOR,
+    'PlainOption/toUndefinable': API_DESCRIPTOR,
+    'PlainOption/unwrap': API_DESCRIPTOR,
+    'PlainOption/unwrapOr': API_DESCRIPTOR,
+    'PlainOption/unwrapOrElse': API_DESCRIPTOR,
+    'PlainOption/unwrapOrElseAsync': API_DESCRIPTOR,
+    'PlainOption/xor': API_DESCRIPTOR,
 
-    'PlainResult/and': {
-        'exports': [
-            'andForResult'
-        ]
-    },
-    'PlainResult/andThen': {
-        'exports': [
-            'andThenForResult'
-        ]
-    },
-    'PlainResult/andThenAsync': {
-        'exports': [
-            'andThenAsyncForResult'
-        ]
-    },
-    'PlainResult/asMut': {
-        'exports': [
-            'asMutResult'
-        ]
-    },
-    'PlainResult/drop': {
-        'exports': [
-            'unsafeDropBothForResult',
-            'unsafeDropOkForResult',
-            'unsafeDropErrForResult',
-        ]
-    },
-    'PlainResult/equal': {
-        'exports': [
-            'equalForResult',
-        ]
-    },
-    'PlainResult/expect': {
-        'exports': [
-            'expectOkForResult',
-            'expectErrForResult',
-            'expectIsOk',
-            'expectIsErr',
-        ]
-    },
-    'PlainResult/flatten': {
-        'exports': [
-            'flattenForResult'
-        ]
-    },
-    'PlainResult/fromPromiseSettledResult': {
-        'exports': [
-            'fromPromiseSettledResultToResult'
-        ]
-    },
-    'PlainResult/inspect': {
-        'exports': [
-            'inspectOkOfResult',
-            'inspectErrOfResult',
-            'inspectBothOfResult',
-            'inspectOk',
-            'inspectErr',
-            'inspectBoth',
-        ]
-    },
-    'PlainResult/map': {
-        'exports': [
-            'mapForResult'
-        ]
-    },
-    'PlainResult/mapAsync': {
-        'exports': [
-            'mapAsyncForResult'
-        ]
-    },
-    'PlainResult/mapErr': {
-        'exports': [
-            'mapErrForResult',
-        ]
-    },
-    'PlainResult/mapErrAsync': {
-        'exports': [
-            'mapErrAsyncForResult',
-        ]
-    },
-    'PlainResult/mapOr': {
-        'exports': [
-            'mapOrForResult'
-        ]
-    },
-    'PlainResult/mapOrAsync': {
-        'exports': [
-            'mapOrAsyncForResult'
-        ]
-    },
-    'PlainResult/mapOrElse': {
-        'exports': [
-            'mapOrElseForResult'
-        ]
-    },
-    'PlainResult/mapOrElseAsync': {
-        'exports': [
-            'mapOrElseAsyncForResult'
-        ]
-    },
-    'PlainResult/or': {
-        'exports': [
-            'orForResult'
-        ]
-    },
-    'PlainResult/orElse': {
-        'exports': [
-            'orElseForResult'
-        ]
-    },
-    'PlainResult/orElseAsync': {
-        'exports': [
-            'orElseAsyncForResult'
-        ]
-    },
-    'PlainResult/Result': {
-        'exports': [
-            'isOk',
-            'createOk',
-            'isErr',
-            'createErr',
-            'unwrapOk',
-            'unwrapErr',
-            'expectOk',
-            'expectErr',
-        ]
-    },
-    'PlainResult/toOption': {
-        'exports': [
-            'toOptionFromOk',
-            'toOptionFromErr'
-        ]
-    },
-    'PlainResult/tryCatch': {
-        'exports': [
-            'tryCatchIntoResult',
-            'tryCatchIntoResultWithEnsureError',
-        ]
-    },
-    'PlainResult/tryCatchAsync': {
-        'exports': [
-            'tryCatchIntoResultAsync',
-            'tryCatchIntoResultWithEnsureErrorAsync',
-        ]
-    },
-    'PlainResult/transpose': {
-        'exports': [
-            'transposeForResult',
-        ]
-    },
-    'PlainResult/unwrap': {
-        'exports': [
-            'unwrapFromResult',
-            'unwrapOkFromResult',
-            'unwrapErrFromResult',
-        ]
-    },
-    'PlainResult/unwrapOr': {
-        'exports': [
-            'unwrapOrFromResult'
-        ]
-    },
-    'PlainResult/unwrapOrElse': {
-        'exports': [
-            'unwrapOrElseFromResult'
-        ]
-    },
-    'PlainResult/unwrapOrElseAsync': {
-        'exports': [
-            'unwrapOrElseAsyncFromResult'
-        ]
-    },
-    'PlainResult/unwrapOrThrowError': {
-        'exports': [
-            'unwrapOrThrowErrorFromResult'
-        ]
-    },
+    'PlainResult': pathRedirectionTo('PlainResult/index'),
 
-    'Undefinable': {
-        'path': 'Undefinable/index',
-        'exports': [
-            'isNotUndefined',
-            'isUndefined',
-            'andThen',
-            'andThenAsync',
-            'expect',
-            'expectNotUndefined',
-            'inspect',
-            'map',
-            'mapAsync',
-            'mapOr',
-            'mapOrAsync',
-            'mapOrElse',
-            'mapOrElseAsync',
-            'orElse',
-            'orElseAsync',
-            'unwrap',
-            'unwrapOr',
-            'unwrapOrElse',
-            'unwrapOrElseAsync',
-            'unwrapUndefinable',
-        ]
-    },
+    'PlainResult/and': API_DESCRIPTOR,
+    'PlainResult/andThen': API_DESCRIPTOR,
+    'PlainResult/andThenAsync': API_DESCRIPTOR,
+    'PlainResult/asMut': API_DESCRIPTOR,
+    'PlainResult/drop': API_DESCRIPTOR,
+    'PlainResult/equal': API_DESCRIPTOR,
+    'PlainResult/expect': API_DESCRIPTOR,
+    'PlainResult/flatten': API_DESCRIPTOR,
+    'PlainResult/fromPromiseSettledResult': API_DESCRIPTOR,
+    'PlainResult/inspect': API_DESCRIPTOR,
+    'PlainResult/map': API_DESCRIPTOR,
+    'PlainResult/mapAsync': API_DESCRIPTOR,
+    'PlainResult/mapErr': API_DESCRIPTOR,
+    'PlainResult/mapErrAsync': API_DESCRIPTOR,
+    'PlainResult/mapOr': API_DESCRIPTOR,
+    'PlainResult/mapOrAsync': API_DESCRIPTOR,
+    'PlainResult/mapOrElse': API_DESCRIPTOR,
+    'PlainResult/mapOrElseAsync': API_DESCRIPTOR,
+    'PlainResult/or': API_DESCRIPTOR,
+    'PlainResult/orElse': API_DESCRIPTOR,
+    'PlainResult/orElseAsync': API_DESCRIPTOR,
+    'PlainResult/Result': API_DESCRIPTOR,
+    'PlainResult/toOption': API_DESCRIPTOR,
+    'PlainResult/tryCatch': API_DESCRIPTOR,
+    'PlainResult/tryCatchAsync': API_DESCRIPTOR,
+    'PlainResult/transpose': API_DESCRIPTOR,
+    'PlainResult/unwrap': API_DESCRIPTOR,
+    'PlainResult/unwrapOr': API_DESCRIPTOR,
+    'PlainResult/unwrapOrElse': API_DESCRIPTOR,
+    'PlainResult/unwrapOrElseAsync': API_DESCRIPTOR,
+    'PlainResult/unwrapOrThrowError': API_DESCRIPTOR,
 
-    'Undefinable/and': {
-        'exports': [
-            'andForUndefinable',
-        ]
-    },
-    'Undefinable/andThen': {
-        'exports': [
-            'andThenForUndefinable'
-        ]
-    },
-    'Undefinable/andThenAsync': {
-        'exports': [
-            'andThenAsyncForUndefinable'
-        ]
-    },
-    'Undefinable/expect': {
-        'exports': [
-            'expectNotUndefined'
-        ]
-    },
-    'Undefinable/inspect': {
-        'exports': [
-            'inspectUndefinable'
-        ]
-    },
-    'Undefinable/map': {
-        'exports': [
-            'mapForUndefinable'
-        ]
-    },
-    'Undefinable/mapAsync': {
-        'exports': [
-            'mapAsyncForUndefinable'
-        ]
-    },
-    'Undefinable/mapOr': {
-        'exports': [
-            'mapOrForUndefinable'
-        ]
-    },
-    'Undefinable/mapOrAsync': {
-        'exports': [
-            'mapOrAsyncForUndefinable'
-        ]
-    },
-    'Undefinable/mapOrElse': {
-        'exports': [
-            'mapOrElseForUndefinable'
-        ]
-    },
-    'Undefinable/mapOrElseAsync': {
-        'exports': [
-            'mapOrElseAsyncForUndefinable'
-        ]
-    },
-    'Undefinable/or': {
-        'exports': [
-            'orForUndefinable'
-        ]
-    },
-    'Undefinable/orElse': {
-        'exports': [
-            'orElseForUndefinable'
-        ]
-    },
-    'Undefinable/orElseAsync': {
-        'exports': [
-            'orElseAsyncForUndefinable'
-        ]
-    },
-    'Undefinable/toNullable': {
-        'exports': [
-            'toNullableFromUndefinable'
-        ]
-    },
-    'Undefinable/Undefinable': {
-        'exports': [
-            'isNotUndefined',
-            'isUndefined',
-            'expectNotUndefined',
-            'unwrapUndefinable',
-        ]
-    },
-    'Undefinable/unwrap': {
-        'exports': [
-            'unwrapUndefinable'
-        ]
-    },
-    'Undefinable/unwrapOr': {
-        'exports': [
-            'unwrapOrFromUndefinable'
-        ]
-    },
-    'Undefinable/unwrapOrElse': {
-        'exports': [
-            'unwrapOrElseFromUndefinable'
-        ]
-    },
-    'Undefinable/unwrapOrElseAsync': {
-        'exports': [
-            'unwrapOrElseAsyncFromUndefinable'
-        ]
-    },
-    'Undefinable/xor': {
-        'exports': [
-            'xorForUndefinable'
-        ]
-    },
+    'Undefinable': pathRedirectionTo('Undefinable/index'),
 
-    /*
-        // TODO:
-        // 'Maybe/ErrorMessage': [],
-        // TODO:
-        // 'Nullable/ErrorMessage': [],
-        // TODO:
-        // 'Option': [],
-        // TODO:
-        // 'Result': [],
-        // TODO:
-        // 'Undefinable/ErrorMessage': [],
-        // TODO:
-        // 'index': [],
-    */
+    'Undefinable/and': API_DESCRIPTOR,
+    'Undefinable/andThen': API_DESCRIPTOR,
+    'Undefinable/andThenAsync': API_DESCRIPTOR,
+    'Undefinable/expect': API_DESCRIPTOR,
+    'Undefinable/inspect': API_DESCRIPTOR,
+    'Undefinable/map': API_DESCRIPTOR,
+    'Undefinable/mapAsync': API_DESCRIPTOR,
+    'Undefinable/mapOr': API_DESCRIPTOR,
+    'Undefinable/mapOrAsync': API_DESCRIPTOR,
+    'Undefinable/mapOrElse': API_DESCRIPTOR,
+    'Undefinable/mapOrElseAsync': API_DESCRIPTOR,
+    'Undefinable/or': API_DESCRIPTOR,
+    'Undefinable/orElse': API_DESCRIPTOR,
+    'Undefinable/orElseAsync': API_DESCRIPTOR,
+    'Undefinable/toNullable': API_DESCRIPTOR,
+    'Undefinable/Undefinable': API_DESCRIPTOR,
+    'Undefinable/unwrap': API_DESCRIPTOR,
+    'Undefinable/unwrapOr': API_DESCRIPTOR,
+    'Undefinable/unwrapOrElse': API_DESCRIPTOR,
+    'Undefinable/unwrapOrElseAsync': API_DESCRIPTOR,
+    'Undefinable/xor': API_DESCRIPTOR,
 });
 
 const COMPAT_DESCRIPTOR = Object.freeze({
 });
 
 export const legacyApiTable = Object.freeze({
-    'cjs/ClassicOption': COMPAT_DESCRIPTOR,
-    'cjs/ClassicResult': COMPAT_DESCRIPTOR,
+    'cjs/ClassicOption': pathRedirectionTo('cjs/ClassicOption/index'),
+    'cjs/ClassicResult': pathRedirectionTo('cjs/ClassicResult/index'),
     'cjs/Maybe/ErrorMessage': COMPAT_DESCRIPTOR,
     'cjs/Maybe/Maybe': COMPAT_DESCRIPTOR,
     'cjs/Maybe/and': COMPAT_DESCRIPTOR,
@@ -855,7 +164,7 @@ export const legacyApiTable = Object.freeze({
     'cjs/Maybe/expect': COMPAT_DESCRIPTOR,
     'cjs/Maybe/index': COMPAT_DESCRIPTOR,
     'cjs/Maybe/inspect': COMPAT_DESCRIPTOR,
-    'cjs/Maybe': COMPAT_DESCRIPTOR,
+    'cjs/Maybe': pathRedirectionTo('cjs/Maybe/index'),
     'cjs/Maybe/map': COMPAT_DESCRIPTOR,
     'cjs/Maybe/mapAsync': COMPAT_DESCRIPTOR,
     'cjs/Maybe/mapOr': COMPAT_DESCRIPTOR,
@@ -880,7 +189,7 @@ export const legacyApiTable = Object.freeze({
     'cjs/Nullable/expect': COMPAT_DESCRIPTOR,
     'cjs/Nullable/index': COMPAT_DESCRIPTOR,
     'cjs/Nullable/inspect': COMPAT_DESCRIPTOR,
-    'cjs/Nullable': COMPAT_DESCRIPTOR,
+    'cjs/Nullable': pathRedirectionTo('cjs/Nullable/index'),
     'cjs/Nullable/map': COMPAT_DESCRIPTOR,
     'cjs/Nullable/mapAsync': COMPAT_DESCRIPTOR,
     'cjs/Nullable/mapOr': COMPAT_DESCRIPTOR,
@@ -909,7 +218,7 @@ export const legacyApiTable = Object.freeze({
     'cjs/PlainOption/flatten': COMPAT_DESCRIPTOR,
     'cjs/PlainOption/index': COMPAT_DESCRIPTOR,
     'cjs/PlainOption/inspect': COMPAT_DESCRIPTOR,
-    'cjs/PlainOption': COMPAT_DESCRIPTOR,
+    'cjs/PlainOption': pathRedirectionTo('cjs/PlainOption/index'),
     'cjs/PlainOption/map': COMPAT_DESCRIPTOR,
     'cjs/PlainOption/mapAsync': COMPAT_DESCRIPTOR,
     'cjs/PlainOption/mapOr': COMPAT_DESCRIPTOR,
@@ -941,7 +250,7 @@ export const legacyApiTable = Object.freeze({
     'cjs/PlainResult/fromPromiseSettledResult': COMPAT_DESCRIPTOR,
     'cjs/PlainResult/index': COMPAT_DESCRIPTOR,
     'cjs/PlainResult/inspect': COMPAT_DESCRIPTOR,
-    'cjs/PlainResult': COMPAT_DESCRIPTOR,
+    'cjs/PlainResult': pathRedirectionTo('cjs/PlainResult/index'),
     'cjs/PlainResult/map': COMPAT_DESCRIPTOR,
     'cjs/PlainResult/mapAsync': COMPAT_DESCRIPTOR,
     'cjs/PlainResult/mapErr': COMPAT_DESCRIPTOR,
@@ -971,7 +280,7 @@ export const legacyApiTable = Object.freeze({
     'cjs/Undefinable/expect': COMPAT_DESCRIPTOR,
     'cjs/Undefinable/index': COMPAT_DESCRIPTOR,
     'cjs/Undefinable/inspect': COMPAT_DESCRIPTOR,
-    'cjs/Undefinable': COMPAT_DESCRIPTOR,
+    'cjs/Undefinable': pathRedirectionTo('cjs/Undefinable/index'),
     'cjs/Undefinable/map': COMPAT_DESCRIPTOR,
     'cjs/Undefinable/mapAsync': COMPAT_DESCRIPTOR,
     'cjs/Undefinable/mapOr': COMPAT_DESCRIPTOR,
@@ -988,8 +297,8 @@ export const legacyApiTable = Object.freeze({
     'cjs/Undefinable/unwrapOrElseAsync': COMPAT_DESCRIPTOR,
     'cjs/Undefinable/xor': COMPAT_DESCRIPTOR,
     'cjs/index': COMPAT_DESCRIPTOR,
-    'esm/ClassicOption': COMPAT_DESCRIPTOR,
-    'esm/ClassicResult': COMPAT_DESCRIPTOR,
+    'esm/ClassicOption': pathRedirectionTo('esm/ClassicOption/index'),
+    'esm/ClassicResult': pathRedirectionTo('esm/ClassicResult/index'),
     'esm/Maybe/ErrorMessage': COMPAT_DESCRIPTOR,
     'esm/Maybe/Maybe': COMPAT_DESCRIPTOR,
     'esm/Maybe/and': COMPAT_DESCRIPTOR,
@@ -998,7 +307,7 @@ export const legacyApiTable = Object.freeze({
     'esm/Maybe/expect': COMPAT_DESCRIPTOR,
     'esm/Maybe/index': COMPAT_DESCRIPTOR,
     'esm/Maybe/inspect': COMPAT_DESCRIPTOR,
-    'esm/Maybe': COMPAT_DESCRIPTOR,
+    'esm/Maybe': pathRedirectionTo('esm/Maybe/index'),
     'esm/Maybe/map': COMPAT_DESCRIPTOR,
     'esm/Maybe/mapAsync': COMPAT_DESCRIPTOR,
     'esm/Maybe/mapOr': COMPAT_DESCRIPTOR,
@@ -1023,7 +332,7 @@ export const legacyApiTable = Object.freeze({
     'esm/Nullable/expect': COMPAT_DESCRIPTOR,
     'esm/Nullable/index': COMPAT_DESCRIPTOR,
     'esm/Nullable/inspect': COMPAT_DESCRIPTOR,
-    'esm/Nullable': COMPAT_DESCRIPTOR,
+    'esm/Nullable': pathRedirectionTo('esm/Nullable/index'),
     'esm/Nullable/map': COMPAT_DESCRIPTOR,
     'esm/Nullable/mapAsync': COMPAT_DESCRIPTOR,
     'esm/Nullable/mapOr': COMPAT_DESCRIPTOR,
@@ -1052,7 +361,7 @@ export const legacyApiTable = Object.freeze({
     'esm/PlainOption/flatten': COMPAT_DESCRIPTOR,
     'esm/PlainOption/index': COMPAT_DESCRIPTOR,
     'esm/PlainOption/inspect': COMPAT_DESCRIPTOR,
-    'esm/PlainOption': COMPAT_DESCRIPTOR,
+    'esm/PlainOption': pathRedirectionTo('esm/PlainOption/index'),
     'esm/PlainOption/map': COMPAT_DESCRIPTOR,
     'esm/PlainOption/mapAsync': COMPAT_DESCRIPTOR,
     'esm/PlainOption/mapOr': COMPAT_DESCRIPTOR,
@@ -1084,7 +393,7 @@ export const legacyApiTable = Object.freeze({
     'esm/PlainResult/fromPromiseSettledResult': COMPAT_DESCRIPTOR,
     'esm/PlainResult/index': COMPAT_DESCRIPTOR,
     'esm/PlainResult/inspect': COMPAT_DESCRIPTOR,
-    'esm/PlainResult': COMPAT_DESCRIPTOR,
+    'esm/PlainResult': pathRedirectionTo('esm/PlainResult/index'),
     'esm/PlainResult/map': COMPAT_DESCRIPTOR,
     'esm/PlainResult/mapAsync': COMPAT_DESCRIPTOR,
     'esm/PlainResult/mapErr': COMPAT_DESCRIPTOR,
@@ -1114,7 +423,7 @@ export const legacyApiTable = Object.freeze({
     'esm/Undefinable/expect': COMPAT_DESCRIPTOR,
     'esm/Undefinable/index': COMPAT_DESCRIPTOR,
     'esm/Undefinable/inspect': COMPAT_DESCRIPTOR,
-    'esm/Undefinable': COMPAT_DESCRIPTOR,
+    'esm/Undefinable': pathRedirectionTo('esm/Undefinable/index'),
     'esm/Undefinable/map': COMPAT_DESCRIPTOR,
     'esm/Undefinable/mapAsync': COMPAT_DESCRIPTOR,
     'esm/Undefinable/mapOr': COMPAT_DESCRIPTOR,
@@ -1131,8 +440,8 @@ export const legacyApiTable = Object.freeze({
     'esm/Undefinable/unwrapOrElseAsync': COMPAT_DESCRIPTOR,
     'esm/Undefinable/xor': COMPAT_DESCRIPTOR,
     'esm/index': COMPAT_DESCRIPTOR,
-    'lib/ClassicOption': COMPAT_DESCRIPTOR,
-    'lib/ClassicResult': COMPAT_DESCRIPTOR,
+    'lib/ClassicOption': pathRedirectionTo('lib/ClassicOption/index'),
+    'lib/ClassicResult': pathRedirectionTo('lib/ClassicResult/index'),
     'lib/Maybe/ErrorMessage': COMPAT_DESCRIPTOR,
     'lib/Maybe/Maybe': COMPAT_DESCRIPTOR,
     'lib/Maybe/and': COMPAT_DESCRIPTOR,
@@ -1141,7 +450,7 @@ export const legacyApiTable = Object.freeze({
     'lib/Maybe/expect': COMPAT_DESCRIPTOR,
     'lib/Maybe/index': COMPAT_DESCRIPTOR,
     'lib/Maybe/inspect': COMPAT_DESCRIPTOR,
-    'lib/Maybe': COMPAT_DESCRIPTOR,
+    'lib/Maybe': pathRedirectionTo('lib/Maybe/index'),
     'lib/Maybe/map': COMPAT_DESCRIPTOR,
     'lib/Maybe/mapAsync': COMPAT_DESCRIPTOR,
     'lib/Maybe/mapOr': COMPAT_DESCRIPTOR,
@@ -1166,7 +475,7 @@ export const legacyApiTable = Object.freeze({
     'lib/Nullable/expect': COMPAT_DESCRIPTOR,
     'lib/Nullable/index': COMPAT_DESCRIPTOR,
     'lib/Nullable/inspect': COMPAT_DESCRIPTOR,
-    'lib/Nullable': COMPAT_DESCRIPTOR,
+    'lib/Nullable': pathRedirectionTo('lib/Nullable/index'),
     'lib/Nullable/map': COMPAT_DESCRIPTOR,
     'lib/Nullable/mapAsync': COMPAT_DESCRIPTOR,
     'lib/Nullable/mapOr': COMPAT_DESCRIPTOR,
@@ -1195,7 +504,7 @@ export const legacyApiTable = Object.freeze({
     'lib/PlainOption/filter': COMPAT_DESCRIPTOR,
     'lib/PlainOption/index': COMPAT_DESCRIPTOR,
     'lib/PlainOption/inspect': COMPAT_DESCRIPTOR,
-    'lib/PlainOption': COMPAT_DESCRIPTOR,
+    'lib/PlainOption': pathRedirectionTo('lib/PlainOption/index'),
     'lib/PlainOption/map': COMPAT_DESCRIPTOR,
     'lib/PlainOption/mapAsync': COMPAT_DESCRIPTOR,
     'lib/PlainOption/mapOr': COMPAT_DESCRIPTOR,
@@ -1227,7 +536,7 @@ export const legacyApiTable = Object.freeze({
     'lib/PlainResult/fromPromiseSettledResult': COMPAT_DESCRIPTOR,
     'lib/PlainResult/index': COMPAT_DESCRIPTOR,
     'lib/PlainResult/inspect': COMPAT_DESCRIPTOR,
-    'lib/PlainResult': COMPAT_DESCRIPTOR,
+    'lib/PlainResult': pathRedirectionTo('lib/PlainResult/index'),
     'lib/PlainResult/map': COMPAT_DESCRIPTOR,
     'lib/PlainResult/mapAsync': COMPAT_DESCRIPTOR,
     'lib/PlainResult/mapErr': COMPAT_DESCRIPTOR,
@@ -1257,7 +566,7 @@ export const legacyApiTable = Object.freeze({
     'lib/Undefinable/expect': COMPAT_DESCRIPTOR,
     'lib/Undefinable/index': COMPAT_DESCRIPTOR,
     'lib/Undefinable/inspect': COMPAT_DESCRIPTOR,
-    'lib/Undefinable': COMPAT_DESCRIPTOR,
+    'lib/Undefinable': pathRedirectionTo('lib/Undefinable/index'),
     'lib/Undefinable/map': COMPAT_DESCRIPTOR,
     'lib/Undefinable/mapAsync': COMPAT_DESCRIPTOR,
     'lib/Undefinable/mapOr': COMPAT_DESCRIPTOR,


Test patch:
diff --git a/packages/api_tests/__tests__/exposed_path_table.mjs b/packages/api_tests/__tests__/exposed_path_table.mjs
index 04f15ebe..a45e4d4c 100644
--- a/packages/api_tests/__tests__/exposed_path_table.mjs
+++ b/packages/api_tests/__tests__/exposed_path_table.mjs
@@ -1,562 +1,562 @@
-export const EXPOSED_PATH_LIST = [
-    './cjs/ClassicOption',
-    './cjs/ClassicResult',
-    './cjs/Maybe/ErrorMessage',
-    './cjs/Maybe/Maybe',
-    './cjs/Maybe/and',
-    './cjs/Maybe/andThen',
-    './cjs/Maybe/andThenAsync',
-    './cjs/Maybe/expect',
-    './cjs/Maybe/index',
-    './cjs/Maybe/inspect',
-    './cjs/Maybe',
-    './cjs/Maybe/map',
-    './cjs/Maybe/mapAsync',
-    './cjs/Maybe/mapOr',
-    './cjs/Maybe/mapOrAsync',
-    './cjs/Maybe/mapOrElse',
-    './cjs/Maybe/mapOrElseAsync',
-    './cjs/Maybe/or',
-    './cjs/Maybe/orElse',
-    './cjs/Maybe/orElseAsync',
-    './cjs/Maybe/toNullable',
-    './cjs/Maybe/toUndefinable',
-    './cjs/Maybe/unwrap',
-    './cjs/Maybe/unwrapOr',
-    './cjs/Maybe/unwrapOrElse',
-    './cjs/Maybe/unwrapOrElseAsync',
-    './cjs/Maybe/xor',
-    './cjs/Nullable/ErrorMessage',
-    './cjs/Nullable/Nullable',
-    './cjs/Nullable/and',
-    './cjs/Nullable/andThen',
-    './cjs/Nullable/andThenAsync',
-    './cjs/Nullable/expect',
-    './cjs/Nullable/index',
-    './cjs/Nullable/inspect',
-    './cjs/Nullable',
-    './cjs/Nullable/map',
-    './cjs/Nullable/mapAsync',
-    './cjs/Nullable/mapOr',
-    './cjs/Nullable/mapOrAsync',
-    './cjs/Nullable/mapOrElse',
-    './cjs/Nullable/mapOrElseAsync',
-    './cjs/Nullable/or',
-    './cjs/Nullable/orElse',
-    './cjs/Nullable/orElseAsync',
-    './cjs/Nullable/toUndefinable',
-    './cjs/Nullable/unwrap',
-    './cjs/Nullable/unwrapOr',
-    './cjs/Nullable/unwrapOrElse',
-    './cjs/Nullable/unwrapOrElseAsync',
-    './cjs/Nullable/xor',
-    './cjs/Option',
-    './cjs/PlainOption/Option',
-    './cjs/PlainOption/and',
-    './cjs/PlainOption/andThen',
-    './cjs/PlainOption/andThenAsync',
-    './cjs/PlainOption/asMut',
-    './cjs/PlainOption/drop',
-    './cjs/PlainOption/equal',
-    './cjs/PlainOption/expect',
-    './cjs/PlainOption/filter',
-    './cjs/PlainOption/flatten',
-    './cjs/PlainOption/index',
-    './cjs/PlainOption/inspect',
-    './cjs/PlainOption',
-    './cjs/PlainOption/map',
-    './cjs/PlainOption/mapAsync',
-    './cjs/PlainOption/mapOr',
-    './cjs/PlainOption/mapOrAsync',
-    './cjs/PlainOption/mapOrElse',
-    './cjs/PlainOption/mapOrElseAsync',
-    './cjs/PlainOption/okOr',
-    './cjs/PlainOption/okOrElse',
-    './cjs/PlainOption/or',
-    './cjs/PlainOption/orElse',
-    './cjs/PlainOption/orElseAsync',
-    './cjs/PlainOption/transpose',
-    './cjs/PlainOption/toNullable',
-    './cjs/PlainOption/toUndefinable',
-    './cjs/PlainOption/unwrap',
-    './cjs/PlainOption/unwrapOr',
-    './cjs/PlainOption/unwrapOrElse',
-    './cjs/PlainOption/unwrapOrElseAsync',
-    './cjs/PlainOption/xor',
-    './cjs/PlainResult/Result',
-    './cjs/PlainResult/and',
-    './cjs/PlainResult/andThen',
-    './cjs/PlainResult/andThenAsync',
-    './cjs/PlainResult/asMut',
-    './cjs/PlainResult/drop',
-    './cjs/PlainResult/equal',
-    './cjs/PlainResult/expect',
-    './cjs/PlainResult/flatten',
-    './cjs/PlainResult/fromPromiseSettledResult',
-    './cjs/PlainResult/index',
-    './cjs/PlainResult/inspect',
-    './cjs/PlainResult',
-    './cjs/PlainResult/map',
-    './cjs/PlainResult/mapAsync',
-    './cjs/PlainResult/mapErr',
-    './cjs/PlainResult/mapErrAsync',
-    './cjs/PlainResult/mapOr',
-    './cjs/PlainResult/mapOrAsync',
-    './cjs/PlainResult/mapOrElse',
-    './cjs/PlainResult/mapOrElseAsync',
-    './cjs/PlainResult/or',
-    './cjs/PlainResult/orElse',
-    './cjs/PlainResult/orElseAsync',
-    './cjs/PlainResult/transpose',
-    './cjs/PlainResult/toOption',
-    './cjs/PlainResult/tryCatch',
-    './cjs/PlainResult/tryCatchAsync',
-    './cjs/PlainResult/unwrap',
-    './cjs/PlainResult/unwrapOr',
-    './cjs/PlainResult/unwrapOrElse',
-    './cjs/PlainResult/unwrapOrElseAsync',
-    './cjs/PlainResult/unwrapOrThrowError',
-    './cjs/Result',
-    './cjs/Undefinable/ErrorMessage',
-    './cjs/Undefinable/Undefinable',
-    './cjs/Undefinable/and',
-    './cjs/Undefinable/andThen',
-    './cjs/Undefinable/andThenAsync',
-    './cjs/Undefinable/expect',
-    './cjs/Undefinable/index',
-    './cjs/Undefinable/inspect',
-    './cjs/Undefinable',
-    './cjs/Undefinable/map',
-    './cjs/Undefinable/mapAsync',
-    './cjs/Undefinable/mapOr',
-    './cjs/Undefinable/mapOrAsync',
-    './cjs/Undefinable/mapOrElse',
-    './cjs/Undefinable/mapOrElseAsync',
-    './cjs/Undefinable/or',
-    './cjs/Undefinable/orElse',
-    './cjs/Undefinable/orElseAsync',
-    './cjs/Undefinable/toNullable',
-    './cjs/Undefinable/unwrap',
-    './cjs/Undefinable/unwrapOr',
-    './cjs/Undefinable/unwrapOrElse',
-    './cjs/Undefinable/unwrapOrElseAsync',
-    './cjs/Undefinable/xor',
-    './cjs/index',
-    './esm/ClassicOption',
-    './esm/ClassicResult',
-    './esm/Maybe/ErrorMessage',
-    './esm/Maybe/Maybe',
-    './esm/Maybe/and',
-    './esm/Maybe/andThen',
-    './esm/Maybe/andThenAsync',
-    './esm/Maybe/expect',
-    './esm/Maybe/index',
-    './esm/Maybe/inspect',
-    './esm/Maybe',
-    './esm/Maybe/map',
-    './esm/Maybe/mapAsync',
-    './esm/Maybe/mapOr',
-    './esm/Maybe/mapOrAsync',
-    './esm/Maybe/mapOrElse',
-    './esm/Maybe/mapOrElseAsync',
-    './esm/Maybe/or',
-    './esm/Maybe/orElse',
-    './esm/Maybe/orElseAsync',
-    './esm/Maybe/toNullable',
-    './esm/Maybe/toUndefinable',
-    './esm/Maybe/unwrap',
-    './esm/Maybe/unwrapOr',
-    './esm/Maybe/unwrapOrElse',
-    './esm/Maybe/unwrapOrElseAsync',
-    './esm/Maybe/xor',
-    './esm/Nullable/ErrorMessage',
-    './esm/Nullable/Nullable',
-    './esm/Nullable/and',
-    './esm/Nullable/andThen',
-    './esm/Nullable/andThenAsync',
-    './esm/Nullable/expect',
-    './esm/Nullable/index',
-    './esm/Nullable/inspect',
-    './esm/Nullable',
-    './esm/Nullable/map',
-    './esm/Nullable/mapAsync',
-    './esm/Nullable/mapOr',
-    './esm/Nullable/mapOrAsync',
-    './esm/Nullable/mapOrElse',
-    './esm/Nullable/mapOrElseAsync',
-    './esm/Nullable/or',
-    './esm/Nullable/orElse',
-    './esm/Nullable/orElseAsync',
-    './esm/Nullable/toUndefinable',
-    './esm/Nullable/unwrap',
-    './esm/Nullable/unwrapOr',
-    './esm/Nullable/unwrapOrElse',
-    './esm/Nullable/unwrapOrElseAsync',
-    './esm/Nullable/xor',
-    './esm/Option',
-    './esm/PlainOption/Option',
-    './esm/PlainOption/and',
-    './esm/PlainOption/andThen',
-    './esm/PlainOption/andThenAsync',
-    './esm/PlainOption/asMut',
-    './esm/PlainOption/drop',
-    './esm/PlainOption/equal',
-    './esm/PlainOption/expect',
-    './esm/PlainOption/filter',
-    './esm/PlainOption/flatten',
-    './esm/PlainOption/index',
-    './esm/PlainOption/inspect',
-    './esm/PlainOption',
-    './esm/PlainOption/map',
-    './esm/PlainOption/mapAsync',
-    './esm/PlainOption/mapOr',
-    './esm/PlainOption/mapOrAsync',
-    './esm/PlainOption/mapOrElse',
-    './esm/PlainOption/mapOrElseAsync',
-    './esm/PlainOption/okOr',
-    './esm/PlainOption/okOrElse',
-    './esm/PlainOption/or',
-    './esm/PlainOption/orElse',
-    './esm/PlainOption/orElseAsync',
-    './esm/PlainOption/transpose',
-    './esm/PlainOption/toNullable',
-    './esm/PlainOption/toUndefinable',
-    './esm/PlainOption/unwrap',
-    './esm/PlainOption/unwrapOr',
-    './esm/PlainOption/unwrapOrElse',
-    './esm/PlainOption/unwrapOrElseAsync',
-    './esm/PlainOption/xor',
-    './esm/PlainResult/Result',
-    './esm/PlainResult/and',
-    './esm/PlainResult/andThen',
-    './esm/PlainResult/andThenAsync',
-    './esm/PlainResult/asMut',
-    './esm/PlainResult/drop',
-    './esm/PlainResult/equal',
-    './esm/PlainResult/expect',
-    './esm/PlainResult/flatten',
-    './esm/PlainResult/fromPromiseSettledResult',
-    './esm/PlainResult/index',
-    './esm/PlainResult/inspect',
-    './esm/PlainResult',
-    './esm/PlainResult/map',
-    './esm/PlainResult/mapAsync',
-    './esm/PlainResult/mapErr',
-    './esm/PlainResult/mapErrAsync',
-    './esm/PlainResult/mapOr',
-    './esm/PlainResult/mapOrAsync',
-    './esm/PlainResult/mapOrElse',
-    './esm/PlainResult/mapOrElseAsync',
-    './esm/PlainResult/or',
-    './esm/PlainResult/orElse',
-    './esm/PlainResult/orElseAsync',
-    './esm/PlainResult/transpose',
-    './esm/PlainResult/toOption',
-    './esm/PlainResult/tryCatch',
-    './esm/PlainResult/tryCatchAsync',
-    './esm/PlainResult/unwrap',
-    './esm/PlainResult/unwrapOr',
-    './esm/PlainResult/unwrapOrElse',
-    './esm/PlainResult/unwrapOrElseAsync',
-    './esm/PlainResult/unwrapOrThrowError',
-    './esm/Result',
-    './esm/Undefinable/ErrorMessage',
-    './esm/Undefinable/Undefinable',
-    './esm/Undefinable/and',
-    './esm/Undefinable/andThen',
-    './esm/Undefinable/andThenAsync',
-    './esm/Undefinable/expect',
-    './esm/Undefinable/index',
-    './esm/Undefinable/inspect',
-    './esm/Undefinable',
-    './esm/Undefinable/map',
-    './esm/Undefinable/mapAsync',
-    './esm/Undefinable/mapOr',
-    './esm/Undefinable/mapOrAsync',
-    './esm/Undefinable/mapOrElse',
-    './esm/Undefinable/mapOrElseAsync',
-    './esm/Undefinable/or',
-    './esm/Undefinable/orElse',
-    './esm/Undefinable/orElseAsync',
-    './esm/Undefinable/toNullable',
-    './esm/Undefinable/unwrap',
-    './esm/Undefinable/unwrapOr',
-    './esm/Undefinable/unwrapOrElse',
-    './esm/Undefinable/unwrapOrElseAsync',
-    './esm/Undefinable/xor',
-    './esm/index',
-    './lib/ClassicOption',
-    './lib/ClassicResult',
-    './lib/Maybe/ErrorMessage',
-    './lib/Maybe/Maybe',
-    './lib/Maybe/and',
-    './lib/Maybe/andThen',
-    './lib/Maybe/andThenAsync',
-    './lib/Maybe/expect',
-    './lib/Maybe/index',
-    './lib/Maybe/inspect',
-    './lib/Maybe',
-    './lib/Maybe/map',
-    './lib/Maybe/mapAsync',
-    './lib/Maybe/mapOr',
-    './lib/Maybe/mapOrAsync',
-    './lib/Maybe/mapOrElse',
-    './lib/Maybe/mapOrElseAsync',
-    './lib/Maybe/or',
-    './lib/Maybe/orElse',
-    './lib/Maybe/orElseAsync',
-    './lib/Maybe/toNullable',
-    './lib/Maybe/toUndefinable',
-    './lib/Maybe/unwrap',
-    './lib/Maybe/unwrapOr',
-    './lib/Maybe/unwrapOrElse',
-    './lib/Maybe/unwrapOrElseAsync',
-    './lib/Maybe/xor',
-    './lib/Nullable/ErrorMessage',
-    './lib/Nullable/Nullable',
-    './lib/Nullable/and',
-    './lib/Nullable/andThen',
-    './lib/Nullable/andThenAsync',
-    './lib/Nullable/expect',
-    './lib/Nullable/index',
-    './lib/Nullable/inspect',
-    './lib/Nullable',
-    './lib/Nullable/map',
-    './lib/Nullable/mapAsync',
-    './lib/Nullable/mapOr',
-    './lib/Nullable/mapOrAsync',
-    './lib/Nullable/mapOrElse',
-    './lib/Nullable/mapOrElseAsync',
-    './lib/Nullable/or',
-    './lib/Nullable/orElse',
-    './lib/Nullable/orElseAsync',
-    './lib/Nullable/toUndefinable',
-    './lib/Nullable/unwrap',
-    './lib/Nullable/unwrapOr',
-    './lib/Nullable/unwrapOrElse',
-    './lib/Nullable/unwrapOrElseAsync',
-    './lib/Nullable/xor',
-    './lib/Option',
-    './lib/PlainOption/Option',
-    './lib/PlainOption/and',
-    './lib/PlainOption/andThen',
-    './lib/PlainOption/andThenAsync',
-    './lib/PlainOption/asMut',
-    './lib/PlainOption/drop',
-    './lib/PlainOption/expect',
-    './lib/PlainOption/equal',
-    './lib/PlainOption/flatten',
-    './lib/PlainOption/filter',
-    './lib/PlainOption/index',
-    './lib/PlainOption/inspect',
-    './lib/PlainOption',
-    './lib/PlainOption/map',
-    './lib/PlainOption/mapAsync',
-    './lib/PlainOption/mapOr',
-    './lib/PlainOption/mapOrAsync',
-    './lib/PlainOption/mapOrElse',
-    './lib/PlainOption/mapOrElseAsync',
-    './lib/PlainOption/okOr',
-    './lib/PlainOption/okOrElse',
-    './lib/PlainOption/or',
-    './lib/PlainOption/orElse',
-    './lib/PlainOption/orElseAsync',
-    './lib/PlainOption/transpose',
-    './lib/PlainOption/toNullable',
-    './lib/PlainOption/toUndefinable',
-    './lib/PlainOption/unwrap',
-    './lib/PlainOption/unwrapOr',
-    './lib/PlainOption/unwrapOrElse',
-    './lib/PlainOption/unwrapOrElseAsync',
-    './lib/PlainOption/xor',
-    './lib/PlainResult/Result',
-    './lib/PlainResult/and',
-    './lib/PlainResult/andThen',
-    './lib/PlainResult/andThenAsync',
-    './lib/PlainResult/asMut',
-    './lib/PlainResult/drop',
-    './lib/PlainResult/equal',
-    './lib/PlainResult/expect',
-    './lib/PlainResult/flatten',
-    './lib/PlainResult/fromPromiseSettledResult',
-    './lib/PlainResult/index',
-    './lib/PlainResult/inspect',
-    './lib/PlainResult',
-    './lib/PlainResult/map',
-    './lib/PlainResult/mapAsync',
-    './lib/PlainResult/mapErr',
-    './lib/PlainResult/mapErrAsync',
-    './lib/PlainResult/mapOr',
-    './lib/PlainResult/mapOrAsync',
-    './lib/PlainResult/mapOrElse',
-    './lib/PlainResult/mapOrElseAsync',
-    './lib/PlainResult/or',
-    './lib/PlainResult/orElse',
-    './lib/PlainResult/orElseAsync',
-    './lib/PlainResult/transpose',
-    './lib/PlainResult/toOption',
-    './lib/PlainResult/tryCatch',
-    './lib/PlainResult/tryCatchAsync',
-    './lib/PlainResult/unwrap',
-    './lib/PlainResult/unwrapOr',
-    './lib/PlainResult/unwrapOrElse',
-    './lib/PlainResult/unwrapOrElseAsync',
-    './lib/PlainResult/unwrapOrThrowError',
-    './lib/Result',
-    './lib/Undefinable/ErrorMessage',
-    './lib/Undefinable/Undefinable',
-    './lib/Undefinable/and',
-    './lib/Undefinable/andThen',
-    './lib/Undefinable/andThenAsync',
-    './lib/Undefinable/expect',
-    './lib/Undefinable/index',
-    './lib/Undefinable/inspect',
-    './lib/Undefinable',
-    './lib/Undefinable/map',
-    './lib/Undefinable/mapAsync',
-    './lib/Undefinable/mapOr',
-    './lib/Undefinable/mapOrAsync',
-    './lib/Undefinable/mapOrElse',
-    './lib/Undefinable/mapOrElseAsync',
-    './lib/Undefinable/or',
-    './lib/Undefinable/orElse',
-    './lib/Undefinable/orElseAsync',
-    './lib/Undefinable/toNullable',
-    './lib/Undefinable/unwrap',
-    './lib/Undefinable/unwrapOr',
-    './lib/Undefinable/unwrapOrElse',
-    './lib/Undefinable/unwrapOrElseAsync',
-    './lib/Undefinable/xor',
-    './lib/index',
-    '.',
-    './Maybe',
-    './Maybe/and',
-    './Maybe/andThen',
-    './Maybe/andThenAsync',
-    './Maybe/expect',
-    './Maybe/inspect',
-    './Maybe/map',
-    './Maybe/mapAsync',
-    './Maybe/Maybe',
-    './Maybe/mapOr',
-    './Maybe/mapOrAsync',
-    './Maybe/mapOrElse',
-    './Maybe/mapOrElseAsync',
-    './Maybe/or',
-    './Maybe/orElse',
-    './Maybe/orElseAsync',
-    './Maybe/toNullable',
-    './Maybe/toUndefinable',
-    './Maybe/unwrap',
-    './Maybe/unwrapOr',
-    './Maybe/unwrapOrElse',
-    './Maybe/unwrapOrElseAsync',
-    './Maybe/xor',
-    './Nullable',
-    './Nullable/and',
-    './Nullable/andThen',
-    './Nullable/andThenAsync',
-    './Nullable/expect',
-    './Nullable/inspect',
-    './Nullable/map',
-    './Nullable/mapAsync',
-    './Nullable/mapOr',
-    './Nullable/mapOrAsync',
-    './Nullable/mapOrElse',
-    './Nullable/mapOrElseAsync',
-    './Nullable/Nullable',
-    './Nullable/or',
-    './Nullable/orElse',
-    './Nullable/orElseAsync',
-    './Nullable/toUndefinable',
-    './Nullable/unwrap',
-    './Nullable/unwrapOr',
-    './Nullable/unwrapOrElse',
-    './Nullable/unwrapOrElseAsync',
-    './Nullable/xor',
-    './PlainOption',
-    './PlainOption/and',
-    './PlainOption/andThen',
-    './PlainOption/andThenAsync',
-    './PlainOption/asMut',
-    './PlainOption/drop',
-    './PlainOption/equal',
-    './PlainOption/expect',
-    './PlainOption/filter',
-    './PlainOption/flatten',
-    './PlainOption/inspect',
-    './PlainOption/map',
-    './PlainOption/mapAsync',
-    './PlainOption/mapOr',
-    './PlainOption/mapOrAsync',
-    './PlainOption/mapOrElse',
-    './PlainOption/mapOrElseAsync',
-    './PlainOption/okOr',
-    './PlainOption/okOrElse',
-    './PlainOption/Option',
-    './PlainOption/or',
-    './PlainOption/orElse',
-    './PlainOption/orElseAsync',
-    './PlainOption/transpose',
-    './PlainOption/toNullable',
-    './PlainOption/toUndefinable',
-    './PlainOption/unwrap',
-    './PlainOption/unwrapOr',
-    './PlainOption/unwrapOrElse',
-    './PlainOption/unwrapOrElseAsync',
-    './PlainOption/xor',
-    './PlainResult',
-    './PlainResult/and',
-    './PlainResult/andThen',
-    './PlainResult/andThenAsync',
-    './PlainResult/asMut',
-    './PlainResult/drop',
-    './PlainResult/equal',
-    './PlainResult/expect',
-    './PlainResult/flatten',
-    './PlainResult/fromPromiseSettledResult',
-    './PlainResult/inspect',
-    './PlainResult/map',
-    './PlainResult/mapAsync',
-    './PlainResult/mapErr',
-    './PlainResult/mapErrAsync',
-    './PlainResult/mapOr',
-    './PlainResult/mapOrAsync',
-    './PlainResult/mapOrElse',
-    './PlainResult/mapOrElseAsync',
-    './PlainResult/or',
-    './PlainResult/orElse',
-    './PlainResult/orElseAsync',
-    './PlainResult/Result',
-    './PlainResult/toOption',
-    './PlainResult/tryCatch',
-    './PlainResult/tryCatchAsync',
-    './PlainResult/transpose',
-    './PlainResult/unwrap',
-    './PlainResult/unwrapOr',
-    './PlainResult/unwrapOrElse',
-    './PlainResult/unwrapOrElseAsync',
-    './PlainResult/unwrapOrThrowError',
-    './Undefinable',
-    './Undefinable/and',
-    './Undefinable/andThen',
-    './Undefinable/andThenAsync',
-    './Undefinable/expect',
-    './Undefinable/inspect',
-    './Undefinable/map',
-    './Undefinable/mapAsync',
-    './Undefinable/mapOr',
-    './Undefinable/mapOrAsync',
-    './Undefinable/mapOrElse',
-    './Undefinable/mapOrElseAsync',
-    './Undefinable/or',
-    './Undefinable/orElse',
-    './Undefinable/orElseAsync',
-    './Undefinable/toNullable',
-    './Undefinable/Undefinable',
-    './Undefinable/unwrap',
-    './Undefinable/unwrapOr',
-    './Undefinable/unwrapOrElse',
-    './Undefinable/unwrapOrElseAsync',
-    './Undefinable/xor',
-];
+export const EXPOSED_PATH_LIST = Object.keys({
+    './cjs/ClassicOption': null,
+    './cjs/ClassicResult': null,
+    './cjs/Maybe/ErrorMessage': null,
+    './cjs/Maybe/Maybe': null,
+    './cjs/Maybe/and': null,
+    './cjs/Maybe/andThen': null,
+    './cjs/Maybe/andThenAsync': null,
+    './cjs/Maybe/expect': null,
+    './cjs/Maybe/index': null,
+    './cjs/Maybe/inspect': null,
+    './cjs/Maybe': null,
+    './cjs/Maybe/map': null,
+    './cjs/Maybe/mapAsync': null,
+    './cjs/Maybe/mapOr': null,
+    './cjs/Maybe/mapOrAsync': null,
+    './cjs/Maybe/mapOrElse': null,
+    './cjs/Maybe/mapOrElseAsync': null,
+    './cjs/Maybe/or': null,
+    './cjs/Maybe/orElse': null,
+    './cjs/Maybe/orElseAsync': null,
+    './cjs/Maybe/toNullable': null,
+    './cjs/Maybe/toUndefinable': null,
+    './cjs/Maybe/unwrap': null,
+    './cjs/Maybe/unwrapOr': null,
+    './cjs/Maybe/unwrapOrElse': null,
+    './cjs/Maybe/unwrapOrElseAsync': null,
+    './cjs/Maybe/xor': null,
+    './cjs/Nullable/ErrorMessage': null,
+    './cjs/Nullable/Nullable': null,
+    './cjs/Nullable/and': null,
+    './cjs/Nullable/andThen': null,
+    './cjs/Nullable/andThenAsync': null,
+    './cjs/Nullable/expect': null,
+    './cjs/Nullable/index': null,
+    './cjs/Nullable/inspect': null,
+    './cjs/Nullable': null,
+    './cjs/Nullable/map': null,
+    './cjs/Nullable/mapAsync': null,
+    './cjs/Nullable/mapOr': null,
+    './cjs/Nullable/mapOrAsync': null,
+    './cjs/Nullable/mapOrElse': null,
+    './cjs/Nullable/mapOrElseAsync': null,
+    './cjs/Nullable/or': null,
+    './cjs/Nullable/orElse': null,
+    './cjs/Nullable/orElseAsync': null,
+    './cjs/Nullable/toUndefinable': null,
+    './cjs/Nullable/unwrap': null,
+    './cjs/Nullable/unwrapOr': null,
+    './cjs/Nullable/unwrapOrElse': null,
+    './cjs/Nullable/unwrapOrElseAsync': null,
+    './cjs/Nullable/xor': null,
+    './cjs/Option': null,
+    './cjs/PlainOption/Option': null,
+    './cjs/PlainOption/and': null,
+    './cjs/PlainOption/andThen': null,
+    './cjs/PlainOption/andThenAsync': null,
+    './cjs/PlainOption/asMut': null,
+    './cjs/PlainOption/drop': null,
+    './cjs/PlainOption/equal': null,
+    './cjs/PlainOption/expect': null,
+    './cjs/PlainOption/filter': null,
+    './cjs/PlainOption/flatten': null,
+    './cjs/PlainOption/index': null,
+    './cjs/PlainOption/inspect': null,
+    './cjs/PlainOption': null,
+    './cjs/PlainOption/map': null,
+    './cjs/PlainOption/mapAsync': null,
+    './cjs/PlainOption/mapOr': null,
+    './cjs/PlainOption/mapOrAsync': null,
+    './cjs/PlainOption/mapOrElse': null,
+    './cjs/PlainOption/mapOrElseAsync': null,
+    './cjs/PlainOption/okOr': null,
+    './cjs/PlainOption/okOrElse': null,
+    './cjs/PlainOption/or': null,
+    './cjs/PlainOption/orElse': null,
+    './cjs/PlainOption/orElseAsync': null,
+    './cjs/PlainOption/transpose': null,
+    './cjs/PlainOption/toNullable': null,
+    './cjs/PlainOption/toUndefinable': null,
+    './cjs/PlainOption/unwrap': null,
+    './cjs/PlainOption/unwrapOr': null,
+    './cjs/PlainOption/unwrapOrElse': null,
+    './cjs/PlainOption/unwrapOrElseAsync': null,
+    './cjs/PlainOption/xor': null,
+    './cjs/PlainResult/Result': null,
+    './cjs/PlainResult/and': null,
+    './cjs/PlainResult/andThen': null,
+    './cjs/PlainResult/andThenAsync': null,
+    './cjs/PlainResult/asMut': null,
+    './cjs/PlainResult/drop': null,
+    './cjs/PlainResult/equal': null,
+    './cjs/PlainResult/expect': null,
+    './cjs/PlainResult/flatten': null,
+    './cjs/PlainResult/fromPromiseSettledResult': null,
+    './cjs/PlainResult/index': null,
+    './cjs/PlainResult/inspect': null,
+    './cjs/PlainResult': null,
+    './cjs/PlainResult/map': null,
+    './cjs/PlainResult/mapAsync': null,
+    './cjs/PlainResult/mapErr': null,
+    './cjs/PlainResult/mapErrAsync': null,
+    './cjs/PlainResult/mapOr': null,
+    './cjs/PlainResult/mapOrAsync': null,
+    './cjs/PlainResult/mapOrElse': null,
+    './cjs/PlainResult/mapOrElseAsync': null,
+    './cjs/PlainResult/or': null,
+    './cjs/PlainResult/orElse': null,
+    './cjs/PlainResult/orElseAsync': null,
+    './cjs/PlainResult/transpose': null,
+    './cjs/PlainResult/toOption': null,
+    './cjs/PlainResult/tryCatch': null,
+    './cjs/PlainResult/tryCatchAsync': null,
+    './cjs/PlainResult/unwrap': null,
+    './cjs/PlainResult/unwrapOr': null,
+    './cjs/PlainResult/unwrapOrElse': null,
+    './cjs/PlainResult/unwrapOrElseAsync': null,
+    './cjs/PlainResult/unwrapOrThrowError': null,
+    './cjs/Result': null,
+    './cjs/Undefinable/ErrorMessage': null,
+    './cjs/Undefinable/Undefinable': null,
+    './cjs/Undefinable/and': null,
+    './cjs/Undefinable/andThen': null,
+    './cjs/Undefinable/andThenAsync': null,
+    './cjs/Undefinable/expect': null,
+    './cjs/Undefinable/index': null,
+    './cjs/Undefinable/inspect': null,
+    './cjs/Undefinable': null,
+    './cjs/Undefinable/map': null,
+    './cjs/Undefinable/mapAsync': null,
+    './cjs/Undefinable/mapOr': null,
+    './cjs/Undefinable/mapOrAsync': null,
+    './cjs/Undefinable/mapOrElse': null,
+    './cjs/Undefinable/mapOrElseAsync': null,
+    './cjs/Undefinable/or': null,
+    './cjs/Undefinable/orElse': null,
+    './cjs/Undefinable/orElseAsync': null,
+    './cjs/Undefinable/toNullable': null,
+    './cjs/Undefinable/unwrap': null,
+    './cjs/Undefinable/unwrapOr': null,
+    './cjs/Undefinable/unwrapOrElse': null,
+    './cjs/Undefinable/unwrapOrElseAsync': null,
+    './cjs/Undefinable/xor': null,
+    './cjs/index': null,
+    './esm/ClassicOption': null,
+    './esm/ClassicResult': null,
+    './esm/Maybe/ErrorMessage': null,
+    './esm/Maybe/Maybe': null,
+    './esm/Maybe/and': null,
+    './esm/Maybe/andThen': null,
+    './esm/Maybe/andThenAsync': null,
+    './esm/Maybe/expect': null,
+    './esm/Maybe/index': null,
+    './esm/Maybe/inspect': null,
+    './esm/Maybe': null,
+    './esm/Maybe/map': null,
+    './esm/Maybe/mapAsync': null,
+    './esm/Maybe/mapOr': null,
+    './esm/Maybe/mapOrAsync': null,
+    './esm/Maybe/mapOrElse': null,
+    './esm/Maybe/mapOrElseAsync': null,
+    './esm/Maybe/or': null,
+    './esm/Maybe/orElse': null,
+    './esm/Maybe/orElseAsync': null,
+    './esm/Maybe/toNullable': null,
+    './esm/Maybe/toUndefinable': null,
+    './esm/Maybe/unwrap': null,
+    './esm/Maybe/unwrapOr': null,
+    './esm/Maybe/unwrapOrElse': null,
+    './esm/Maybe/unwrapOrElseAsync': null,
+    './esm/Maybe/xor': null,
+    './esm/Nullable/ErrorMessage': null,
+    './esm/Nullable/Nullable': null,
+    './esm/Nullable/and': null,
+    './esm/Nullable/andThen': null,
+    './esm/Nullable/andThenAsync': null,
+    './esm/Nullable/expect': null,
+    './esm/Nullable/index': null,
+    './esm/Nullable/inspect': null,
+    './esm/Nullable': null,
+    './esm/Nullable/map': null,
+    './esm/Nullable/mapAsync': null,
+    './esm/Nullable/mapOr': null,
+    './esm/Nullable/mapOrAsync': null,
+    './esm/Nullable/mapOrElse': null,
+    './esm/Nullable/mapOrElseAsync': null,
+    './esm/Nullable/or': null,
+    './esm/Nullable/orElse': null,
+    './esm/Nullable/orElseAsync': null,
+    './esm/Nullable/toUndefinable': null,
+    './esm/Nullable/unwrap': null,
+    './esm/Nullable/unwrapOr': null,
+    './esm/Nullable/unwrapOrElse': null,
+    './esm/Nullable/unwrapOrElseAsync': null,
+    './esm/Nullable/xor': null,
+    './esm/Option': null,
+    './esm/PlainOption/Option': null,
+    './esm/PlainOption/and': null,
+    './esm/PlainOption/andThen': null,
+    './esm/PlainOption/andThenAsync': null,
+    './esm/PlainOption/asMut': null,
+    './esm/PlainOption/drop': null,
+    './esm/PlainOption/equal': null,
+    './esm/PlainOption/expect': null,
+    './esm/PlainOption/filter': null,
+    './esm/PlainOption/flatten': null,
+    './esm/PlainOption/index': null,
+    './esm/PlainOption/inspect': null,
+    './esm/PlainOption': null,
+    './esm/PlainOption/map': null,
+    './esm/PlainOption/mapAsync': null,
+    './esm/PlainOption/mapOr': null,
+    './esm/PlainOption/mapOrAsync': null,
+    './esm/PlainOption/mapOrElse': null,
+    './esm/PlainOption/mapOrElseAsync': null,
+    './esm/PlainOption/okOr': null,
+    './esm/PlainOption/okOrElse': null,
+    './esm/PlainOption/or': null,
+    './esm/PlainOption/orElse': null,
+    './esm/PlainOption/orElseAsync': null,
+    './esm/PlainOption/transpose': null,
+    './esm/PlainOption/toNullable': null,
+    './esm/PlainOption/toUndefinable': null,
+    './esm/PlainOption/unwrap': null,
+    './esm/PlainOption/unwrapOr': null,
+    './esm/PlainOption/unwrapOrElse': null,
+    './esm/PlainOption/unwrapOrElseAsync': null,
+    './esm/PlainOption/xor': null,
+    './esm/PlainResult/Result': null,
+    './esm/PlainResult/and': null,
+    './esm/PlainResult/andThen': null,
+    './esm/PlainResult/andThenAsync': null,
+    './esm/PlainResult/asMut': null,
+    './esm/PlainResult/drop': null,
+    './esm/PlainResult/equal': null,
+    './esm/PlainResult/expect': null,
+    './esm/PlainResult/flatten': null,
+    './esm/PlainResult/fromPromiseSettledResult': null,
+    './esm/PlainResult/index': null,
+    './esm/PlainResult/inspect': null,
+    './esm/PlainResult': null,
+    './esm/PlainResult/map': null,
+    './esm/PlainResult/mapAsync': null,
+    './esm/PlainResult/mapErr': null,
+    './esm/PlainResult/mapErrAsync': null,
+    './esm/PlainResult/mapOr': null,
+    './esm/PlainResult/mapOrAsync': null,
+    './esm/PlainResult/mapOrElse': null,
+    './esm/PlainResult/mapOrElseAsync': null,
+    './esm/PlainResult/or': null,
+    './esm/PlainResult/orElse': null,
+    './esm/PlainResult/orElseAsync': null,
+    './esm/PlainResult/transpose': null,
+    './esm/PlainResult/toOption': null,
+    './esm/PlainResult/tryCatch': null,
+    './esm/PlainResult/tryCatchAsync': null,
+    './esm/PlainResult/unwrap': null,
+    './esm/PlainResult/unwrapOr': null,
+    './esm/PlainResult/unwrapOrElse': null,
+    './esm/PlainResult/unwrapOrElseAsync': null,
+    './esm/PlainResult/unwrapOrThrowError': null,
+    './esm/Result': null,
+    './esm/Undefinable/ErrorMessage': null,
+    './esm/Undefinable/Undefinable': null,
+    './esm/Undefinable/and': null,
+    './esm/Undefinable/andThen': null,
+    './esm/Undefinable/andThenAsync': null,
+    './esm/Undefinable/expect': null,
+    './esm/Undefinable/index': null,
+    './esm/Undefinable/inspect': null,
+    './esm/Undefinable': null,
+    './esm/Undefinable/map': null,
+    './esm/Undefinable/mapAsync': null,
+    './esm/Undefinable/mapOr': null,
+    './esm/Undefinable/mapOrAsync': null,
+    './esm/Undefinable/mapOrElse': null,
+    './esm/Undefinable/mapOrElseAsync': null,
+    './esm/Undefinable/or': null,
+    './esm/Undefinable/orElse': null,
+    './esm/Undefinable/orElseAsync': null,
+    './esm/Undefinable/toNullable': null,
+    './esm/Undefinable/unwrap': null,
+    './esm/Undefinable/unwrapOr': null,
+    './esm/Undefinable/unwrapOrElse': null,
+    './esm/Undefinable/unwrapOrElseAsync': null,
+    './esm/Undefinable/xor': null,
+    './esm/index': null,
+    './lib/ClassicOption': null,
+    './lib/ClassicResult': null,
+    './lib/Maybe/ErrorMessage': null,
+    './lib/Maybe/Maybe': null,
+    './lib/Maybe/and': null,
+    './lib/Maybe/andThen': null,
+    './lib/Maybe/andThenAsync': null,
+    './lib/Maybe/expect': null,
+    './lib/Maybe/index': null,
+    './lib/Maybe/inspect': null,
+    './lib/Maybe': null,
+    './lib/Maybe/map': null,
+    './lib/Maybe/mapAsync': null,
+    './lib/Maybe/mapOr': null,
+    './lib/Maybe/mapOrAsync': null,
+    './lib/Maybe/mapOrElse': null,
+    './lib/Maybe/mapOrElseAsync': null,
+    './lib/Maybe/or': null,
+    './lib/Maybe/orElse': null,
+    './lib/Maybe/orElseAsync': null,
+    './lib/Maybe/toNullable': null,
+    './lib/Maybe/toUndefinable': null,
+    './lib/Maybe/unwrap': null,
+    './lib/Maybe/unwrapOr': null,
+    './lib/Maybe/unwrapOrElse': null,
+    './lib/Maybe/unwrapOrElseAsync': null,
+    './lib/Maybe/xor': null,
+    './lib/Nullable/ErrorMessage': null,
+    './lib/Nullable/Nullable': null,
+    './lib/Nullable/and': null,
+    './lib/Nullable/andThen': null,
+    './lib/Nullable/andThenAsync': null,
+    './lib/Nullable/expect': null,
+    './lib/Nullable/index': null,
+    './lib/Nullable/inspect': null,
+    './lib/Nullable': null,
+    './lib/Nullable/map': null,
+    './lib/Nullable/mapAsync': null,
+    './lib/Nullable/mapOr': null,
+    './lib/Nullable/mapOrAsync': null,
+    './lib/Nullable/mapOrElse': null,
+    './lib/Nullable/mapOrElseAsync': null,
+    './lib/Nullable/or': null,
+    './lib/Nullable/orElse': null,
+    './lib/Nullable/orElseAsync': null,
+    './lib/Nullable/toUndefinable': null,
+    './lib/Nullable/unwrap': null,
+    './lib/Nullable/unwrapOr': null,
+    './lib/Nullable/unwrapOrElse': null,
+    './lib/Nullable/unwrapOrElseAsync': null,
+    './lib/Nullable/xor': null,
+    './lib/Option': null,
+    './lib/PlainOption/Option': null,
+    './lib/PlainOption/and': null,
+    './lib/PlainOption/andThen': null,
+    './lib/PlainOption/andThenAsync': null,
+    './lib/PlainOption/asMut': null,
+    './lib/PlainOption/drop': null,
+    './lib/PlainOption/expect': null,
+    './lib/PlainOption/equal': null,
+    './lib/PlainOption/flatten': null,
+    './lib/PlainOption/filter': null,
+    './lib/PlainOption/index': null,
+    './lib/PlainOption/inspect': null,
+    './lib/PlainOption': null,
+    './lib/PlainOption/map': null,
+    './lib/PlainOption/mapAsync': null,
+    './lib/PlainOption/mapOr': null,
+    './lib/PlainOption/mapOrAsync': null,
+    './lib/PlainOption/mapOrElse': null,
+    './lib/PlainOption/mapOrElseAsync': null,
+    './lib/PlainOption/okOr': null,
+    './lib/PlainOption/okOrElse': null,
+    './lib/PlainOption/or': null,
+    './lib/PlainOption/orElse': null,
+    './lib/PlainOption/orElseAsync': null,
+    './lib/PlainOption/transpose': null,
+    './lib/PlainOption/toNullable': null,
+    './lib/PlainOption/toUndefinable': null,
+    './lib/PlainOption/unwrap': null,
+    './lib/PlainOption/unwrapOr': null,
+    './lib/PlainOption/unwrapOrElse': null,
+    './lib/PlainOption/unwrapOrElseAsync': null,
+    './lib/PlainOption/xor': null,
+    './lib/PlainResult/Result': null,
+    './lib/PlainResult/and': null,
+    './lib/PlainResult/andThen': null,
+    './lib/PlainResult/andThenAsync': null,
+    './lib/PlainResult/asMut': null,
+    './lib/PlainResult/drop': null,
+    './lib/PlainResult/equal': null,
+    './lib/PlainResult/expect': null,
+    './lib/PlainResult/flatten': null,
+    './lib/PlainResult/fromPromiseSettledResult': null,
+    './lib/PlainResult/index': null,
+    './lib/PlainResult/inspect': null,
+    './lib/PlainResult': null,
+    './lib/PlainResult/map': null,
+    './lib/PlainResult/mapAsync': null,
+    './lib/PlainResult/mapErr': null,
+    './lib/PlainResult/mapErrAsync': null,
+    './lib/PlainResult/mapOr': null,
+    './lib/PlainResult/mapOrAsync': null,
+    './lib/PlainResult/mapOrElse': null,
+    './lib/PlainResult/mapOrElseAsync': null,
+    './lib/PlainResult/or': null,
+    './lib/PlainResult/orElse': null,
+    './lib/PlainResult/orElseAsync': null,
+    './lib/PlainResult/transpose': null,
+    './lib/PlainResult/toOption': null,
+    './lib/PlainResult/tryCatch': null,
+    './lib/PlainResult/tryCatchAsync': null,
+    './lib/PlainResult/unwrap': null,
+    './lib/PlainResult/unwrapOr': null,
+    './lib/PlainResult/unwrapOrElse': null,
+    './lib/PlainResult/unwrapOrElseAsync': null,
+    './lib/PlainResult/unwrapOrThrowError': null,
+    './lib/Result': null,
+    './lib/Undefinable/ErrorMessage': null,
+    './lib/Undefinable/Undefinable': null,
+    './lib/Undefinable/and': null,
+    './lib/Undefinable/andThen': null,
+    './lib/Undefinable/andThenAsync': null,
+    './lib/Undefinable/expect': null,
+    './lib/Undefinable/index': null,
+    './lib/Undefinable/inspect': null,
+    './lib/Undefinable': null,
+    './lib/Undefinable/map': null,
+    './lib/Undefinable/mapAsync': null,
+    './lib/Undefinable/mapOr': null,
+    './lib/Undefinable/mapOrAsync': null,
+    './lib/Undefinable/mapOrElse': null,
+    './lib/Undefinable/mapOrElseAsync': null,
+    './lib/Undefinable/or': null,
+    './lib/Undefinable/orElse': null,
+    './lib/Undefinable/orElseAsync': null,
+    './lib/Undefinable/toNullable': null,
+    './lib/Undefinable/unwrap': null,
+    './lib/Undefinable/unwrapOr': null,
+    './lib/Undefinable/unwrapOrElse': null,
+    './lib/Undefinable/unwrapOrElseAsync': null,
+    './lib/Undefinable/xor': null,
+    './lib/index': null,
+    '.': null,
+    './Maybe': null,
+    './Maybe/and': null,
+    './Maybe/andThen': null,
+    './Maybe/andThenAsync': null,
+    './Maybe/expect': null,
+    './Maybe/inspect': null,
+    './Maybe/map': null,
+    './Maybe/mapAsync': null,
+    './Maybe/Maybe': null,
+    './Maybe/mapOr': null,
+    './Maybe/mapOrAsync': null,
+    './Maybe/mapOrElse': null,
+    './Maybe/mapOrElseAsync': null,
+    './Maybe/or': null,
+    './Maybe/orElse': null,
+    './Maybe/orElseAsync': null,
+    './Maybe/toNullable': null,
+    './Maybe/toUndefinable': null,
+    './Maybe/unwrap': null,
+    './Maybe/unwrapOr': null,
+    './Maybe/unwrapOrElse': null,
+    './Maybe/unwrapOrElseAsync': null,
+    './Maybe/xor': null,
+    './Nullable': null,
+    './Nullable/and': null,
+    './Nullable/andThen': null,
+    './Nullable/andThenAsync': null,
+    './Nullable/expect': null,
+    './Nullable/inspect': null,
+    './Nullable/map': null,
+    './Nullable/mapAsync': null,
+    './Nullable/mapOr': null,
+    './Nullable/mapOrAsync': null,
+    './Nullable/mapOrElse': null,
+    './Nullable/mapOrElseAsync': null,
+    './Nullable/Nullable': null,
+    './Nullable/or': null,
+    './Nullable/orElse': null,
+    './Nullable/orElseAsync': null,
+    './Nullable/toUndefinable': null,
+    './Nullable/unwrap': null,
+    './Nullable/unwrapOr': null,
+    './Nullable/unwrapOrElse': null,
+    './Nullable/unwrapOrElseAsync': null,
+    './Nullable/xor': null,
+    './PlainOption': null,
+    './PlainOption/and': null,
+    './PlainOption/andThen': null,
+    './PlainOption/andThenAsync': null,
+    './PlainOption/asMut': null,
+    './PlainOption/drop': null,
+    './PlainOption/equal': null,
+    './PlainOption/expect': null,
+    './PlainOption/filter': null,
+    './PlainOption/flatten': null,
+    './PlainOption/inspect': null,
+    './PlainOption/map': null,
+    './PlainOption/mapAsync': null,
+    './PlainOption/mapOr': null,
+    './PlainOption/mapOrAsync': null,
+    './PlainOption/mapOrElse': null,
+    './PlainOption/mapOrElseAsync': null,
+    './PlainOption/okOr': null,
+    './PlainOption/okOrElse': null,
+    './PlainOption/Option': null,
+    './PlainOption/or': null,
+    './PlainOption/orElse': null,
+    './PlainOption/orElseAsync': null,
+    './PlainOption/transpose': null,
+    './PlainOption/toNullable': null,
+    './PlainOption/toUndefinable': null,
+    './PlainOption/unwrap': null,
+    './PlainOption/unwrapOr': null,
+    './PlainOption/unwrapOrElse': null,
+    './PlainOption/unwrapOrElseAsync': null,
+    './PlainOption/xor': null,
+    './PlainResult': null,
+    './PlainResult/and': null,
+    './PlainResult/andThen': null,
+    './PlainResult/andThenAsync': null,
+    './PlainResult/asMut': null,
+    './PlainResult/drop': null,
+    './PlainResult/equal': null,
+    './PlainResult/expect': null,
+    './PlainResult/flatten': null,
+    './PlainResult/fromPromiseSettledResult': null,
+    './PlainResult/inspect': null,
+    './PlainResult/map': null,
+    './PlainResult/mapAsync': null,
+    './PlainResult/mapErr': null,
+    './PlainResult/mapErrAsync': null,
+    './PlainResult/mapOr': null,
+    './PlainResult/mapOrAsync': null,
+    './PlainResult/mapOrElse': null,
+    './PlainResult/mapOrElseAsync': null,
+    './PlainResult/or': null,
+    './PlainResult/orElse': null,
+    './PlainResult/orElseAsync': null,
+    './PlainResult/Result': null,
+    './PlainResult/toOption': null,
+    './PlainResult/tryCatch': null,
+    './PlainResult/tryCatchAsync': null,
+    './PlainResult/transpose': null,
+    './PlainResult/unwrap': null,
+    './PlainResult/unwrapOr': null,
+    './PlainResult/unwrapOrElse': null,
+    './PlainResult/unwrapOrElseAsync': null,
+    './PlainResult/unwrapOrThrowError': null,
+    './Undefinable': null,
+    './Undefinable/and': null,
+    './Undefinable/andThen': null,
+    './Undefinable/andThenAsync': null,
+    './Undefinable/expect': null,
+    './Undefinable/inspect': null,
+    './Undefinable/map': null,
+    './Undefinable/mapAsync': null,
+    './Undefinable/mapOr': null,
+    './Undefinable/mapOrAsync': null,
+    './Undefinable/mapOrElse': null,
+    './Undefinable/mapOrElseAsync': null,
+    './Undefinable/or': null,
+    './Undefinable/orElse': null,
+    './Undefinable/orElseAsync': null,
+    './Undefinable/toNullable': null,
+    './Undefinable/Undefinable': null,
+    './Undefinable/unwrap': null,
+    './Undefinable/unwrapOr': null,
+    './Undefinable/unwrapOrElse': null,
+    './Undefinable/unwrapOrElseAsync': null,
+    './Undefinable/xor': null,
+});
diff --git a/packages/api_tests/package.json b/packages/api_tests/package.json
index c21c97f2..8b0467a4 100644
--- a/packages/api_tests/package.json
+++ b/packages/api_tests/package.json
@@ -9,6 +9,6 @@
     },
     "dependencies": {
         "ava": "^5.1.1",
-        "option-t": "*"
+        "option-t": "../option-t"
     }
 }