diff --git a/HISTORY.md b/HISTORY.md
index 3cc97ee..052e05b 100755
--- a/HISTORY.md
+++ b/HISTORY.md
@@ -1,5 +1,9 @@
 # History
 
+## v8.28.0 2021 July 30
+
+-   Updated dependencies, [base files](https://github.com/bevry/base), and [editions](https://editions.bevry.me) using [boundation](https://github.com/bevry/boundation)
+
 ## v8.27.0 2021 July 29
 
 -   Updated dependencies, [base files](https://github.com/bevry/base), and [editions](https://editions.bevry.me) using [boundation](https://github.com/bevry/boundation)
diff --git a/README.md b/README.md
index aa841d2..af48e12 100755
--- a/README.md
+++ b/README.md
@@ -35,7 +35,7 @@ Ambi lets you execute any function ambidextrously; providing you the ability to
 
 ## Usage
 
-[Complete API Documentation.](http://master.ambi.bevry.surge.sh/docs/globals.html)
+[Complete API Documentation.](http://master.ambi.bevry.surge.sh/docs/)
 
 [View Example Usage.](https://github.com/bevry/ambi/blob/master/example.js)
 
@@ -55,14 +55,14 @@ Ambi lets you execute any function ambidextrously; providing you the ability to
 <a href="https://deno.land" title="Deno is a secure runtime for JavaScript and TypeScript, it is an alternative for Node.js"><h3>Deno</h3></a>
 
 ``` typescript
-import pkg from 'https://unpkg.com/ambi@^8.27.0/edition-deno/index.ts'
+import pkg from 'https://unpkg.com/ambi@^8.28.0/edition-deno/index.ts'
 ```
 
 <a href="https://www.skypack.dev" title="Skypack is a JavaScript Delivery Network for modern web apps"><h3>Skypack</h3></a>
 
 ``` html
 <script type="module">
-    import pkg from '//cdn.skypack.dev/ambi@^8.27.0'
+    import pkg from '//cdn.skypack.dev/ambi@^8.28.0'
 </script>
 ```
 
@@ -70,7 +70,7 @@ import pkg from 'https://unpkg.com/ambi@^8.27.0/edition-deno/index.ts'
 
 ``` html
 <script type="module">
-    import pkg from '//unpkg.com/ambi@^8.27.0'
+    import pkg from '//unpkg.com/ambi@^8.28.0'
 </script>
 ```
 
@@ -78,7 +78,7 @@ import pkg from 'https://unpkg.com/ambi@^8.27.0/edition-deno/index.ts'
 
 ``` html
 <script type="module">
-    import pkg from '//dev.jspm.io/ambi@8.27.0'
+    import pkg from '//dev.jspm.io/ambi@8.28.0'
 </script>
 ```
 
diff --git a/package-lock.json b/package-lock.json
index d0c3de2..ae12d1a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,11 +1,11 @@
 {
   "name": "ambi",
-  "version": "8.27.0",
+  "version": "8.28.0",
   "lockfileVersion": 2,
   "requires": true,
   "packages": {
     "": {
-      "version": "8.27.0",
+      "version": "8.28.0",
       "license": "MIT",
       "dependencies": {
         "typechecker": "^7.17.0"
@@ -16,13 +16,13 @@
         "@typescript-eslint/parser": "^4.28.5",
         "assert-helpers": "^8.2.0",
         "eslint": "^7.31.0",
-        "eslint-config-bevry": "^3.23.0",
+        "eslint-config-bevry": "^3.26.0",
         "eslint-config-prettier": "^8.3.0",
         "eslint-plugin-prettier": "^3.4.0",
         "kava": "^5.14.0",
         "make-deno-edition": "^1.3.0",
         "prettier": "^2.3.2",
-        "projectz": "^2.18.0",
+        "projectz": "^2.21.0",
         "surge": "^0.23.0",
         "typedoc": "^0.21.4",
         "typescript": "4.3.5",
@@ -154,6 +154,34 @@
         "url": "https://bevry.me/fund"
       }
     },
+    "node_modules/@bevry/file": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@bevry/file/-/file-1.1.0.tgz",
+      "integrity": "sha512-mDfnxj4PkROljUrEmWvcIxXL1KB/kjgWumNcFDjaghGbJnXaLYyp10GYHDbKgvOsjKQlRpLdO7zt5kLddNGI3Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://bevry.me/fund"
+      }
+    },
+    "node_modules/@bevry/json": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/@bevry/json/-/json-1.4.0.tgz",
+      "integrity": "sha512-0Z5m7IiXTuA1GiEBlsofvELILycQtiUfWe4arQMjmiXHPALgvg+3UxTRPBKoiJyOHAEio+8k6X7e6BGZz28OlQ==",
+      "dev": true,
+      "dependencies": {
+        "@bevry/file": "^1.1.0",
+        "errlop": "^4.2.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://bevry.me/fund"
+      }
+    },
     "node_modules/@bevry/update-contributors": {
       "version": "1.19.0",
       "resolved": "https://registry.npmjs.org/@bevry/update-contributors/-/update-contributors-1.19.0.tgz",
@@ -270,9 +298,9 @@
       "dev": true
     },
     "node_modules/@types/node": {
-      "version": "16.4.5",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-16.4.5.tgz",
-      "integrity": "sha512-+0GPv/hIFNoy8r5MFf7vRpBjnqNYNrlHdetoy23E7TYc7JB2ctwyi3GMKpviozaHQ/Sy2kBNUTvG9ywN66zV1g==",
+      "version": "16.4.7",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-16.4.7.tgz",
+      "integrity": "sha512-aDDY54sst8sx47CWT6QQqIZp45yURq4dic0+HCYfYNcY5Ejlb/CLmFnRLfy3wQuYafOeh3lB/DAKaqRKBtcZmA==",
       "dev": true
     },
     "node_modules/@types/rimraf": {
@@ -681,9 +709,9 @@
       "dev": true
     },
     "node_modules/badges": {
-      "version": "4.25.0",
-      "resolved": "https://registry.npmjs.org/badges/-/badges-4.25.0.tgz",
-      "integrity": "sha512-BcCVAAH7Lq8h47IKRX0AjtEUwio5tvk058YsBy62cR+9HjVJdMoVCvztS9ABGFKkU/WW9HwhPU9Wp+THDMsa0Q==",
+      "version": "4.26.0",
+      "resolved": "https://registry.npmjs.org/badges/-/badges-4.26.0.tgz",
+      "integrity": "sha512-xmq3keCKAtYDkrlKwxb172fmPUkevWQ+XTaCSfLu/N3j3DFhs+erSEnMCV2sqDObcSqupvpwuvxVZOSibeztOw==",
       "dev": true,
       "engines": {
         "node": ">=10"
@@ -812,15 +840,14 @@
       "dev": true
     },
     "node_modules/caterpillar": {
-      "version": "6.6.0",
-      "resolved": "https://registry.npmjs.org/caterpillar/-/caterpillar-6.6.0.tgz",
-      "integrity": "sha512-IWK7YOOURXf6ZB+8o9zZoj+5cwZmoKMjLkE0ec7iS6BOAJJ/UmfnvyTL2iYTYTS6dnsCvaFs/o258RVoRamG0Q==",
+      "version": "6.7.0",
+      "resolved": "https://registry.npmjs.org/caterpillar/-/caterpillar-6.7.0.tgz",
+      "integrity": "sha512-siVqKWwA1yEf5f3J+fh1jukp7ERv72ejo7HqAd4LfiQQFU4L70Jn26SvVDkvHUeyN74Ykx5dFxgYVoiEhep+nw==",
       "dev": true,
       "dependencies": {
-        "@bevry/ansi": "^2.1.0",
-        "editions": "^6.0.0",
-        "get-current-line": "^6.2.0",
-        "rfc-log-levels": "^3.14.0"
+        "@bevry/ansi": "^3.0.0",
+        "get-current-line": "^6.5.0",
+        "rfc-log-levels": "^3.16.0"
       },
       "engines": {
         "node": ">=10"
@@ -829,18 +856,6 @@
         "url": "https://bevry.me/fund"
       }
     },
-    "node_modules/caterpillar/node_modules/@bevry/ansi": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/@bevry/ansi/-/ansi-2.1.0.tgz",
-      "integrity": "sha512-jkTQzUdapAkusrgZUAOS2vBoUO5Taz+8hzaOrzj7e7XlUDfUZtygS6K8Ou0xkdb59OSL2IAnO6FEx4rTRAPSnQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      },
-      "funding": {
-        "url": "https://bevry.me/fund"
-      }
-    },
     "node_modules/chalk": {
       "version": "4.1.1",
       "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
@@ -897,19 +912,6 @@
       "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==",
       "dev": true
     },
-    "node_modules/coffeescript": {
-      "version": "1.12.7",
-      "resolved": "https://registry.npmjs.org/coffeescript/-/coffeescript-1.12.7.tgz",
-      "integrity": "sha512-pLXHFxQMPklVoEekowk8b3erNynC+DVJzChxS/LCBBgR6/8AJkHivkm//zbowcfc7BTCAjryuhx6gPqPRfsFoA==",
-      "dev": true,
-      "bin": {
-        "cake": "bin/cake",
-        "coffee": "bin/coffee"
-      },
-      "engines": {
-        "node": ">=0.8.0"
-      }
-    },
     "node_modules/color-convert": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -984,18 +986,6 @@
         "node": ">= 8"
       }
     },
-    "node_modules/cson-parser": {
-      "version": "4.0.9",
-      "resolved": "https://registry.npmjs.org/cson-parser/-/cson-parser-4.0.9.tgz",
-      "integrity": "sha512-I79SAcCYquWnEfXYj8hBqOOWKj6eH6zX1hhX3yqmS4K3bYp7jME3UFpHPzu3rUew0oyfc0s8T6IlWGXRAheHag==",
-      "dev": true,
-      "dependencies": {
-        "coffeescript": "1.12.7"
-      },
-      "engines": {
-        "node": ">=10.13"
-      }
-    },
     "node_modules/dashdash": {
       "version": "1.14.1",
       "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
@@ -1216,12 +1206,12 @@
       }
     },
     "node_modules/eslint-config-bevry": {
-      "version": "3.23.0",
-      "resolved": "https://registry.npmjs.org/eslint-config-bevry/-/eslint-config-bevry-3.23.0.tgz",
-      "integrity": "sha512-m7x7Ud5KBTl1QNhNM87V5iD0tuSaLTDpGpvquJ1gCdRTwjG0DcHiVJKCI8FIbyuclGL4MTpb/SiuSYDQMBBqww==",
+      "version": "3.26.0",
+      "resolved": "https://registry.npmjs.org/eslint-config-bevry/-/eslint-config-bevry-3.26.0.tgz",
+      "integrity": "sha512-tnWhFx0rW19euIxjB75AIM3OFAYV+433Ae7qPb5eMHAmkRf66GSkJ2B4wUkTkG55bxErvDItR2mw07jOdRy25A==",
       "dev": true,
       "dependencies": {
-        "semver": "^7.3.2"
+        "semver": "^7.3.5"
       },
       "engines": {
         "node": ">=10"
@@ -1424,13 +1414,13 @@
       }
     },
     "node_modules/event-emitter-grouped": {
-      "version": "4.17.0",
-      "resolved": "https://registry.npmjs.org/event-emitter-grouped/-/event-emitter-grouped-4.17.0.tgz",
-      "integrity": "sha512-JQjiu6i+agbaAnQJKsm/NuQgCU7n8Unxe2DTtYLer2ztesMWH7m63wkyfkT50U+ryduryXp3gnE16Fmn+l5tng==",
+      "version": "4.18.0",
+      "resolved": "https://registry.npmjs.org/event-emitter-grouped/-/event-emitter-grouped-4.18.0.tgz",
+      "integrity": "sha512-WVVBQsGBmk3+NyKWDmaixgfk/eWw/4RjM7pHGM/maRJe6C5MRF1/m4Y4JuQ2EPC7TUXBczxmEhNHo6ofP6ydDQ==",
       "dev": true,
       "dependencies": {
-        "taskgroup": "^7.17.0",
-        "unbounded": "^3.13.0"
+        "taskgroup": "^7.18.0",
+        "unbounded": "^3.14.0"
       },
       "engines": {
         "node": ">=10"
@@ -1446,9 +1436,9 @@
       "dev": true
     },
     "node_modules/extendr": {
-      "version": "5.17.0",
-      "resolved": "https://registry.npmjs.org/extendr/-/extendr-5.17.0.tgz",
-      "integrity": "sha512-rDCTcgC7rMYyWBBvn2ZvcXJSxdWZP1w1sz1jpqUrbYSI8+ogwAa3UZK4SyOVL941LUey+7Fq0Uacn7GoPYricQ==",
+      "version": "5.18.0",
+      "resolved": "https://registry.npmjs.org/extendr/-/extendr-5.18.0.tgz",
+      "integrity": "sha512-KOWkmls5NN3V2Qd1AmSGm2oS7xmfIp3AAhd9LfgkDp9dWa2Nn/A308y9ToHB9/cJJVABbU5lMWKBr03VZm0U3Q==",
       "dev": true,
       "dependencies": {
         "typechecker": "^7.17.0"
@@ -1539,9 +1529,9 @@
       "dev": true
     },
     "node_modules/fellow": {
-      "version": "6.22.0",
-      "resolved": "https://registry.npmjs.org/fellow/-/fellow-6.22.0.tgz",
-      "integrity": "sha512-16rvRBeNeXso8xJb+shiS6PrZuVDQ0EFxFZBUy3s0PJEhogjd2vvdkSFXqEYe2oNcE8n2rnao+fKGG/r/h6hLQ==",
+      "version": "6.23.0",
+      "resolved": "https://registry.npmjs.org/fellow/-/fellow-6.23.0.tgz",
+      "integrity": "sha512-sw4+kW6Smju3t6cLeUDBojP6P3ujX2Z15VuWmjB9VDUNyjid6cCUSIXSrOFUlMUBQdHGRb+zD8r7q6656WzfuQ==",
       "dev": true,
       "engines": {
         "node": ">=10"
@@ -1618,9 +1608,9 @@
       }
     },
     "node_modules/flatted": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.1.tgz",
-      "integrity": "sha512-OMQjaErSFHmHqZe+PSidH5n8j3O0F2DdnVh8JB4j4eUQ2k6KvB0qGfrKIhapvez5JerBbmWkaLYUYWISaESoXg==",
+      "version": "3.2.2",
+      "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz",
+      "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==",
       "dev": true
     },
     "node_modules/forever-agent": {
@@ -1719,9 +1709,9 @@
       }
     },
     "node_modules/get-current-line": {
-      "version": "6.4.0",
-      "resolved": "https://registry.npmjs.org/get-current-line/-/get-current-line-6.4.0.tgz",
-      "integrity": "sha512-0neroKKQ0ih9zOP+3AA8NB26j4LYPbiV5yspjnmP6aO8MDlN3mZCzuCMTBA7QLnwos+mr0GojqTwGrfvHA/RIw==",
+      "version": "6.5.0",
+      "resolved": "https://registry.npmjs.org/get-current-line/-/get-current-line-6.5.0.tgz",
+      "integrity": "sha512-LeoKW2967KSEqtIblUd4Gp8fxDHeQOxgxg95gr3iJc+2ozCOb1E5ZJ82lEq3Ar1l6QlnBHoDpSg1Ogs2yJ7Llw==",
       "dev": true,
       "engines": {
         "node": ">=10"
@@ -2506,9 +2496,9 @@
       "dev": true
     },
     "node_modules/native-promise-pool": {
-      "version": "3.17.0",
-      "resolved": "https://registry.npmjs.org/native-promise-pool/-/native-promise-pool-3.17.0.tgz",
-      "integrity": "sha512-Sj9x8BjjJTkdsDQyv4bYZYeBkcl+aDVY6/tXwpkRMQO/pRQ6U0p1/+vodqTdjgGZgYN2N5c7bmZSlfTebpJXTQ==",
+      "version": "3.18.0",
+      "resolved": "https://registry.npmjs.org/native-promise-pool/-/native-promise-pool-3.18.0.tgz",
+      "integrity": "sha512-+nfrjyfjwthhXiX7louIJPivTPwkFAjIgB5zBgbl8CZFY1OrWX+8hauW9YjzBdRH0GFSShXP+pDVG5H8VsnIdA==",
       "dev": true,
       "engines": {
         "node": ">=10"
@@ -2745,19 +2735,19 @@
       }
     },
     "node_modules/projectz": {
-      "version": "2.18.0",
-      "resolved": "https://registry.npmjs.org/projectz/-/projectz-2.18.0.tgz",
-      "integrity": "sha512-eJkfkesMO15wmX4PbbYq6DNOKWq0C732tdtq88jDBwHysjz5RESKVS/lf+wuJsttSxFaFN4tnGFMTg/P8BUrfQ==",
+      "version": "2.21.0",
+      "resolved": "https://registry.npmjs.org/projectz/-/projectz-2.21.0.tgz",
+      "integrity": "sha512-C2usnr2lKSAlIEB1CmDHZJ54C9sble7x0XmEE96laaqgJXCbPengGJslGJEMS7t+w5Lm8HEtpjMz3h8S0hpmhQ==",
       "dev": true,
       "dependencies": {
-        "badges": "^4.24.0",
-        "caterpillar": "^6.6.0",
-        "cson-parser": "^4.0.6",
-        "errlop": "^4.1.0",
-        "fellow": "^6.21.0",
-        "get-cli-arg": "^6.8.0",
+        "@bevry/file": "^1.1.0",
+        "@bevry/json": "^1.4.0",
+        "badges": "^4.26.0",
+        "caterpillar": "^6.7.0",
+        "fellow": "^6.23.0",
+        "get-cli-arg": "^7.1.0",
         "spdx-expression-parse": "^3.0.1",
-        "spdx-license-list": "^6.3.0",
+        "spdx-license-list": "^6.4.0",
         "typechecker": "^7.17.0"
       },
       "bin": {
@@ -2770,21 +2760,6 @@
         "url": "https://bevry.me/fund"
       }
     },
-    "node_modules/projectz/node_modules/get-cli-arg": {
-      "version": "6.8.0",
-      "resolved": "https://registry.npmjs.org/get-cli-arg/-/get-cli-arg-6.8.0.tgz",
-      "integrity": "sha512-ydZMbzEaS36OCsTfrTrkG8Bp0T772Riirr99HEAU9oBKSy1Fi9/WmtQYFTgjY9/1d/1apAJeA5FN6chtVUG5TQ==",
-      "dev": true,
-      "dependencies": {
-        "normalify": "^2.20.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://bevry.me/fund"
-      }
-    },
     "node_modules/psl": {
       "version": "1.8.0",
       "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
@@ -2856,9 +2831,9 @@
       }
     },
     "node_modules/readdir-cluster": {
-      "version": "3.15.0",
-      "resolved": "https://registry.npmjs.org/readdir-cluster/-/readdir-cluster-3.15.0.tgz",
-      "integrity": "sha512-pRzvJ1e0vjin9VtnQI69PhpAMnqp5TOuf+KhggvwLdGLnTnauH2hqB8Gd9lnyALoMux8pb8qfokzAKkbp19tZA==",
+      "version": "3.16.0",
+      "resolved": "https://registry.npmjs.org/readdir-cluster/-/readdir-cluster-3.16.0.tgz",
+      "integrity": "sha512-xBCM2uXoc72YzjTMVR6QwoqfHhXXJdAjUDYHvUnB03fAruyfPPlbiYANWFemV/tFeqeQ9s6+5TB3LpeLeeThpg==",
       "dev": true,
       "engines": {
         "node": ">=10"
@@ -3920,6 +3895,22 @@
         "editions": "^6.1.0"
       }
     },
+    "@bevry/file": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@bevry/file/-/file-1.1.0.tgz",
+      "integrity": "sha512-mDfnxj4PkROljUrEmWvcIxXL1KB/kjgWumNcFDjaghGbJnXaLYyp10GYHDbKgvOsjKQlRpLdO7zt5kLddNGI3Q==",
+      "dev": true
+    },
+    "@bevry/json": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/@bevry/json/-/json-1.4.0.tgz",
+      "integrity": "sha512-0Z5m7IiXTuA1GiEBlsofvELILycQtiUfWe4arQMjmiXHPALgvg+3UxTRPBKoiJyOHAEio+8k6X7e6BGZz28OlQ==",
+      "dev": true,
+      "requires": {
+        "@bevry/file": "^1.1.0",
+        "errlop": "^4.2.0"
+      }
+    },
     "@bevry/update-contributors": {
       "version": "1.19.0",
       "resolved": "https://registry.npmjs.org/@bevry/update-contributors/-/update-contributors-1.19.0.tgz",
@@ -4012,9 +4003,9 @@
       "dev": true
     },
     "@types/node": {
-      "version": "16.4.5",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-16.4.5.tgz",
-      "integrity": "sha512-+0GPv/hIFNoy8r5MFf7vRpBjnqNYNrlHdetoy23E7TYc7JB2ctwyi3GMKpviozaHQ/Sy2kBNUTvG9ywN66zV1g==",
+      "version": "16.4.7",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-16.4.7.tgz",
+      "integrity": "sha512-aDDY54sst8sx47CWT6QQqIZp45yURq4dic0+HCYfYNcY5Ejlb/CLmFnRLfy3wQuYafOeh3lB/DAKaqRKBtcZmA==",
       "dev": true
     },
     "@types/rimraf": {
@@ -4279,9 +4270,9 @@
       "dev": true
     },
     "badges": {
-      "version": "4.25.0",
-      "resolved": "https://registry.npmjs.org/badges/-/badges-4.25.0.tgz",
-      "integrity": "sha512-BcCVAAH7Lq8h47IKRX0AjtEUwio5tvk058YsBy62cR+9HjVJdMoVCvztS9ABGFKkU/WW9HwhPU9Wp+THDMsa0Q==",
+      "version": "4.26.0",
+      "resolved": "https://registry.npmjs.org/badges/-/badges-4.26.0.tgz",
+      "integrity": "sha512-xmq3keCKAtYDkrlKwxb172fmPUkevWQ+XTaCSfLu/N3j3DFhs+erSEnMCV2sqDObcSqupvpwuvxVZOSibeztOw==",
       "dev": true
     },
     "balanced-match": {
@@ -4367,23 +4358,14 @@
       "dev": true
     },
     "caterpillar": {
-      "version": "6.6.0",
-      "resolved": "https://registry.npmjs.org/caterpillar/-/caterpillar-6.6.0.tgz",
-      "integrity": "sha512-IWK7YOOURXf6ZB+8o9zZoj+5cwZmoKMjLkE0ec7iS6BOAJJ/UmfnvyTL2iYTYTS6dnsCvaFs/o258RVoRamG0Q==",
+      "version": "6.7.0",
+      "resolved": "https://registry.npmjs.org/caterpillar/-/caterpillar-6.7.0.tgz",
+      "integrity": "sha512-siVqKWwA1yEf5f3J+fh1jukp7ERv72ejo7HqAd4LfiQQFU4L70Jn26SvVDkvHUeyN74Ykx5dFxgYVoiEhep+nw==",
       "dev": true,
       "requires": {
-        "@bevry/ansi": "^2.1.0",
-        "editions": "^6.0.0",
-        "get-current-line": "^6.2.0",
-        "rfc-log-levels": "^3.14.0"
-      },
-      "dependencies": {
-        "@bevry/ansi": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/@bevry/ansi/-/ansi-2.1.0.tgz",
-          "integrity": "sha512-jkTQzUdapAkusrgZUAOS2vBoUO5Taz+8hzaOrzj7e7XlUDfUZtygS6K8Ou0xkdb59OSL2IAnO6FEx4rTRAPSnQ==",
-          "dev": true
-        }
+        "@bevry/ansi": "^3.0.0",
+        "get-current-line": "^6.5.0",
+        "rfc-log-levels": "^3.16.0"
       }
     },
     "chalk": {
@@ -4428,12 +4410,6 @@
       "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==",
       "dev": true
     },
-    "coffeescript": {
-      "version": "1.12.7",
-      "resolved": "https://registry.npmjs.org/coffeescript/-/coffeescript-1.12.7.tgz",
-      "integrity": "sha512-pLXHFxQMPklVoEekowk8b3erNynC+DVJzChxS/LCBBgR6/8AJkHivkm//zbowcfc7BTCAjryuhx6gPqPRfsFoA==",
-      "dev": true
-    },
     "color-convert": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -4496,15 +4472,6 @@
         "which": "^2.0.1"
       }
     },
-    "cson-parser": {
-      "version": "4.0.9",
-      "resolved": "https://registry.npmjs.org/cson-parser/-/cson-parser-4.0.9.tgz",
-      "integrity": "sha512-I79SAcCYquWnEfXYj8hBqOOWKj6eH6zX1hhX3yqmS4K3bYp7jME3UFpHPzu3rUew0oyfc0s8T6IlWGXRAheHag==",
-      "dev": true,
-      "requires": {
-        "coffeescript": "1.12.7"
-      }
-    },
     "dashdash": {
       "version": "1.14.1",
       "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
@@ -4684,12 +4651,12 @@
       }
     },
     "eslint-config-bevry": {
-      "version": "3.23.0",
-      "resolved": "https://registry.npmjs.org/eslint-config-bevry/-/eslint-config-bevry-3.23.0.tgz",
-      "integrity": "sha512-m7x7Ud5KBTl1QNhNM87V5iD0tuSaLTDpGpvquJ1gCdRTwjG0DcHiVJKCI8FIbyuclGL4MTpb/SiuSYDQMBBqww==",
+      "version": "3.26.0",
+      "resolved": "https://registry.npmjs.org/eslint-config-bevry/-/eslint-config-bevry-3.26.0.tgz",
+      "integrity": "sha512-tnWhFx0rW19euIxjB75AIM3OFAYV+433Ae7qPb5eMHAmkRf66GSkJ2B4wUkTkG55bxErvDItR2mw07jOdRy25A==",
       "dev": true,
       "requires": {
-        "semver": "^7.3.2"
+        "semver": "^7.3.5"
       }
     },
     "eslint-config-prettier": {
@@ -4805,13 +4772,13 @@
       "dev": true
     },
     "event-emitter-grouped": {
-      "version": "4.17.0",
-      "resolved": "https://registry.npmjs.org/event-emitter-grouped/-/event-emitter-grouped-4.17.0.tgz",
-      "integrity": "sha512-JQjiu6i+agbaAnQJKsm/NuQgCU7n8Unxe2DTtYLer2ztesMWH7m63wkyfkT50U+ryduryXp3gnE16Fmn+l5tng==",
+      "version": "4.18.0",
+      "resolved": "https://registry.npmjs.org/event-emitter-grouped/-/event-emitter-grouped-4.18.0.tgz",
+      "integrity": "sha512-WVVBQsGBmk3+NyKWDmaixgfk/eWw/4RjM7pHGM/maRJe6C5MRF1/m4Y4JuQ2EPC7TUXBczxmEhNHo6ofP6ydDQ==",
       "dev": true,
       "requires": {
-        "taskgroup": "^7.17.0",
-        "unbounded": "^3.13.0"
+        "taskgroup": "^7.18.0",
+        "unbounded": "^3.14.0"
       }
     },
     "extend": {
@@ -4821,9 +4788,9 @@
       "dev": true
     },
     "extendr": {
-      "version": "5.17.0",
-      "resolved": "https://registry.npmjs.org/extendr/-/extendr-5.17.0.tgz",
-      "integrity": "sha512-rDCTcgC7rMYyWBBvn2ZvcXJSxdWZP1w1sz1jpqUrbYSI8+ogwAa3UZK4SyOVL941LUey+7Fq0Uacn7GoPYricQ==",
+      "version": "5.18.0",
+      "resolved": "https://registry.npmjs.org/extendr/-/extendr-5.18.0.tgz",
+      "integrity": "sha512-KOWkmls5NN3V2Qd1AmSGm2oS7xmfIp3AAhd9LfgkDp9dWa2Nn/A308y9ToHB9/cJJVABbU5lMWKBr03VZm0U3Q==",
       "dev": true,
       "requires": {
         "typechecker": "^7.17.0"
@@ -4899,9 +4866,9 @@
       "dev": true
     },
     "fellow": {
-      "version": "6.22.0",
-      "resolved": "https://registry.npmjs.org/fellow/-/fellow-6.22.0.tgz",
-      "integrity": "sha512-16rvRBeNeXso8xJb+shiS6PrZuVDQ0EFxFZBUy3s0PJEhogjd2vvdkSFXqEYe2oNcE8n2rnao+fKGG/r/h6hLQ==",
+      "version": "6.23.0",
+      "resolved": "https://registry.npmjs.org/fellow/-/fellow-6.23.0.tgz",
+      "integrity": "sha512-sw4+kW6Smju3t6cLeUDBojP6P3ujX2Z15VuWmjB9VDUNyjid6cCUSIXSrOFUlMUBQdHGRb+zD8r7q6656WzfuQ==",
       "dev": true
     },
     "figures": {
@@ -4956,9 +4923,9 @@
       }
     },
     "flatted": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.1.tgz",
-      "integrity": "sha512-OMQjaErSFHmHqZe+PSidH5n8j3O0F2DdnVh8JB4j4eUQ2k6KvB0qGfrKIhapvez5JerBbmWkaLYUYWISaESoXg==",
+      "version": "3.2.2",
+      "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz",
+      "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==",
       "dev": true
     },
     "forever-agent": {
@@ -5038,9 +5005,9 @@
       }
     },
     "get-current-line": {
-      "version": "6.4.0",
-      "resolved": "https://registry.npmjs.org/get-current-line/-/get-current-line-6.4.0.tgz",
-      "integrity": "sha512-0neroKKQ0ih9zOP+3AA8NB26j4LYPbiV5yspjnmP6aO8MDlN3mZCzuCMTBA7QLnwos+mr0GojqTwGrfvHA/RIw==",
+      "version": "6.5.0",
+      "resolved": "https://registry.npmjs.org/get-current-line/-/get-current-line-6.5.0.tgz",
+      "integrity": "sha512-LeoKW2967KSEqtIblUd4Gp8fxDHeQOxgxg95gr3iJc+2ozCOb1E5ZJ82lEq3Ar1l6QlnBHoDpSg1Ogs2yJ7Llw==",
       "dev": true
     },
     "getcontributors": {
@@ -5632,9 +5599,9 @@
       "dev": true
     },
     "native-promise-pool": {
-      "version": "3.17.0",
-      "resolved": "https://registry.npmjs.org/native-promise-pool/-/native-promise-pool-3.17.0.tgz",
-      "integrity": "sha512-Sj9x8BjjJTkdsDQyv4bYZYeBkcl+aDVY6/tXwpkRMQO/pRQ6U0p1/+vodqTdjgGZgYN2N5c7bmZSlfTebpJXTQ==",
+      "version": "3.18.0",
+      "resolved": "https://registry.npmjs.org/native-promise-pool/-/native-promise-pool-3.18.0.tgz",
+      "integrity": "sha512-+nfrjyfjwthhXiX7louIJPivTPwkFAjIgB5zBgbl8CZFY1OrWX+8hauW9YjzBdRH0GFSShXP+pDVG5H8VsnIdA==",
       "dev": true
     },
     "natural-compare": {
@@ -5810,31 +5777,20 @@
       "dev": true
     },
     "projectz": {
-      "version": "2.18.0",
-      "resolved": "https://registry.npmjs.org/projectz/-/projectz-2.18.0.tgz",
-      "integrity": "sha512-eJkfkesMO15wmX4PbbYq6DNOKWq0C732tdtq88jDBwHysjz5RESKVS/lf+wuJsttSxFaFN4tnGFMTg/P8BUrfQ==",
+      "version": "2.21.0",
+      "resolved": "https://registry.npmjs.org/projectz/-/projectz-2.21.0.tgz",
+      "integrity": "sha512-C2usnr2lKSAlIEB1CmDHZJ54C9sble7x0XmEE96laaqgJXCbPengGJslGJEMS7t+w5Lm8HEtpjMz3h8S0hpmhQ==",
       "dev": true,
       "requires": {
-        "badges": "^4.24.0",
-        "caterpillar": "^6.6.0",
-        "cson-parser": "^4.0.6",
-        "errlop": "^4.1.0",
-        "fellow": "^6.21.0",
-        "get-cli-arg": "^6.8.0",
+        "@bevry/file": "^1.1.0",
+        "@bevry/json": "^1.4.0",
+        "badges": "^4.26.0",
+        "caterpillar": "^6.7.0",
+        "fellow": "^6.23.0",
+        "get-cli-arg": "^7.1.0",
         "spdx-expression-parse": "^3.0.1",
-        "spdx-license-list": "^6.3.0",
+        "spdx-license-list": "^6.4.0",
         "typechecker": "^7.17.0"
-      },
-      "dependencies": {
-        "get-cli-arg": {
-          "version": "6.8.0",
-          "resolved": "https://registry.npmjs.org/get-cli-arg/-/get-cli-arg-6.8.0.tgz",
-          "integrity": "sha512-ydZMbzEaS36OCsTfrTrkG8Bp0T772Riirr99HEAU9oBKSy1Fi9/WmtQYFTgjY9/1d/1apAJeA5FN6chtVUG5TQ==",
-          "dev": true,
-          "requires": {
-            "normalify": "^2.20.0"
-          }
-        }
       }
     },
     "psl": {
@@ -5882,9 +5838,9 @@
       }
     },
     "readdir-cluster": {
-      "version": "3.15.0",
-      "resolved": "https://registry.npmjs.org/readdir-cluster/-/readdir-cluster-3.15.0.tgz",
-      "integrity": "sha512-pRzvJ1e0vjin9VtnQI69PhpAMnqp5TOuf+KhggvwLdGLnTnauH2hqB8Gd9lnyALoMux8pb8qfokzAKkbp19tZA==",
+      "version": "3.16.0",
+      "resolved": "https://registry.npmjs.org/readdir-cluster/-/readdir-cluster-3.16.0.tgz",
+      "integrity": "sha512-xBCM2uXoc72YzjTMVR6QwoqfHhXXJdAjUDYHvUnB03fAruyfPPlbiYANWFemV/tFeqeQ9s6+5TB3LpeLeeThpg==",
       "dev": true
     },
     "regexpp": {
diff --git a/package.json b/package.json
index 21bd1b7..bc30f87 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "ambi",
-  "version": "8.27.0",
+  "version": "8.28.0",
   "description": "Ambi lets you execute any function ambidextrously; providing you the ability to execute any function (be it synchronous, asynchronous, returns, callbacks, promises) as if it returned a promise.",
   "homepage": "https://github.com/bevry/ambi",
   "license": "MIT",
@@ -182,13 +182,13 @@
     "@typescript-eslint/parser": "^4.28.5",
     "assert-helpers": "^8.2.0",
     "eslint": "^7.31.0",
-    "eslint-config-bevry": "^3.23.0",
+    "eslint-config-bevry": "^3.26.0",
     "eslint-config-prettier": "^8.3.0",
     "eslint-plugin-prettier": "^3.4.0",
     "kava": "^5.14.0",
     "make-deno-edition": "^1.3.0",
     "prettier": "^2.3.2",
-    "projectz": "^2.18.0",
+    "projectz": "^2.21.0",
     "surge": "^0.23.0",
     "typedoc": "^0.21.4",
     "typescript": "4.3.5",
@@ -234,4 +234,4 @@
     "semi": false,
     "singleQuote": true
   }
-}
+}
\ No newline at end of file