You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@opendal.apache.org by gi...@apache.org on 2023/10/12 04:38:57 UTC

[incubator-opendal] branch gh-pages updated: deploy: 044cf6437277e215b7d14ff18364758e46854575

This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch gh-pages
in repository https://gitbox.apache.org/repos/asf/incubator-opendal.git


The following commit(s) were added to refs/heads/gh-pages by this push:
     new d7532afa1 deploy: 044cf6437277e215b7d14ff18364758e46854575
d7532afa1 is described below

commit d7532afa144a790264b048bdcc37a2008cc95417
Author: Xuanwo <Xu...@users.noreply.github.com>
AuthorDate: Thu Oct 12 04:38:51 2023 +0000

    deploy: 044cf6437277e215b7d14ff18364758e46854575
---
 404.html                                           |    4 +-
 .../{054cd2fb.2f80409c.js => 054cd2fb.31049e2d.js} |    2 +-
 .../{093f5f04.bebe4d87.js => 093f5f04.752fa1c6.js} |    2 +-
 .../{136e1c50.a09aaa82.js => 136e1c50.f75c3cc3.js} |    2 +-
 .../{151cd40f.205b0817.js => 151cd40f.cbfeffc2.js} |    2 +-
 .../{1957547a.62147943.js => 1957547a.f0022aae.js} |    2 +-
 assets/js/1db64337.2403237a.js                     |    1 +
 assets/js/1db64337.4f34b8cc.js                     |    1 -
 .../{22d8fa67.06ea6ac4.js => 22d8fa67.8cbcd97e.js} |    2 +-
 .../{29b208a4.c32765f1.js => 29b208a4.8384c496.js} |    2 +-
 .../{2cbf1097.26a8b016.js => 2cbf1097.b8dda2a4.js} |    2 +-
 .../{434bbc94.2da6f918.js => 434bbc94.1ae0e0b3.js} |    2 +-
 .../{57a16c1d.8c23f48d.js => 57a16c1d.90123f7b.js} |    2 +-
 .../{592d1076.a2bb26e1.js => 592d1076.6fd6b3a3.js} |    2 +-
 .../{621b831b.4c2260f9.js => 621b831b.03efd53e.js} |    2 +-
 .../{7263c0b5.188087c0.js => 7263c0b5.237fbcf0.js} |    2 +-
 assets/js/8070e160.416d9706.js                     |    1 +
 assets/js/8070e160.690999e3.js                     |    1 -
 .../{8b18d929.2bf1c630.js => 8b18d929.259f32f9.js} |    2 +-
 .../{8cc9519e.dc7a0187.js => 8cc9519e.30352a22.js} |    2 +-
 .../{8f4159f2.d412bf85.js => 8f4159f2.25145380.js} |    2 +-
 .../{939f74f6.b315569a.js => 939f74f6.2ac0b9de.js} |    2 +-
 .../{a0405932.4d6a794e.js => a0405932.739e9b1c.js} |    2 +-
 .../{b114cefa.01397654.js => b114cefa.dc86d50b.js} |    2 +-
 .../{b56f9725.423f0171.js => b56f9725.bef8bca9.js} |    2 +-
 .../{bb5b2057.2a47ceba.js => bb5b2057.d5759f27.js} |    2 +-
 .../{c46c6b55.116880e0.js => c46c6b55.e50f3790.js} |    2 +-
 .../{c6ab695b.5dbeaeeb.js => c6ab695b.836413bc.js} |    2 +-
 .../{cc62039a.b4a9d454.js => cc62039a.23bc7567.js} |    2 +-
 .../{d3c0d8d5.977979c6.js => d3c0d8d5.8b7037c7.js} |    2 +-
 .../{ddccef4c.f99da2a5.js => ddccef4c.9efa57fb.js} |    2 +-
 .../{e892cec6.cc7d659e.js => e892cec6.c04a2ab6.js} |    2 +-
 .../{f1ca5a39.981c018b.js => f1ca5a39.a6e76e5a.js} |    2 +-
 .../{f9145722.12429c0a.js => f9145722.084fc7ee.js} |    2 +-
 .../{fde7cc64.2134c2ea.js => fde7cc64.c02d502e.js} |    2 +-
 ...e~main.f90f3213.js => runtime~main.0bb74d23.js} |    2 +-
 blog/archive/index.html                            |    4 +-
 blog/how-opendal-read-data/index.html              |    4 +-
 blog/index.html                                    |    4 +-
 blog/opendal-access-data-freely/index.html         |    4 +-
 blog/opendal-entered-apache-incubator/index.html   |    4 +-
 blog/owo-1/index.html                              |    4 +-
 blog/tags/announcement/index.html                  |    4 +-
 blog/tags/index.html                               |    4 +-
 blog/tags/internal/index.html                      |    4 +-
 blog/tags/owo/index.html                           |    4 +-
 community/category/committers/index.html           |    4 +-
 community/category/reference/index.html            |    4 +-
 community/committers/committer/index.html          |    4 +-
 community/committers/podling-report/index.html     |    4 +-
 .../reference/generate_release_note/index.html     |    4 +-
 .../committers/reference/setup_gpg/index.html      |    4 +-
 community/committers/release/index.html            |    4 +-
 community/committers/verify/index.html             |    4 +-
 community/index.html                               |    4 +-
 docs/category/services/index.html                  |    4 +-
 docs/haskell/src/OpenDAL.FFI.html                  |  440 +++----
 docs/haskell/src/OpenDAL.html                      | 1218 ++++++++++----------
 docs/lua/classes/opendal.metadata.html             |    2 +-
 docs/lua/classes/opendal.operator.html             |    2 +-
 docs/lua/index.html                                |    2 +-
 docs/nodejs/classes/BlockingLister.html            |    4 +-
 docs/nodejs/classes/Entry.html                     |    4 +-
 docs/nodejs/classes/Lister.html                    |    4 +-
 docs/nodejs/classes/Metadata.html                  |   18 +-
 docs/nodejs/classes/Operator.html                  |   58 +-
 docs/nodejs/interfaces/PresignedRequest.html       |    8 +-
 docs/overview/index.html                           |    6 +-
 docs/python/opendal.html                           |   76 +-
 docs/python/search.js                              |    2 +-
 docs/quickstart/index.html                         |    6 +-
 docs/services/azblob/index.html                    |    6 +-
 docs/services/azdls/index.html                     |    6 +-
 docs/services/cos/index.html                       |    6 +-
 docs/services/dashmap/index.html                   |    6 +-
 docs/services/dropbox/index.html                   |    6 +-
 docs/services/etcd/index.html                      |    6 +-
 docs/services/foundationdb/index.html              |    6 +-
 docs/services/fs/index.html                        |    6 +-
 docs/services/ftp/index.html                       |    6 +-
 docs/services/gcs/index.html                       |    6 +-
 docs/services/gdrive/index.html                    |    6 +-
 docs/services/hdfs/index.html                      |    6 +-
 docs/services/http/index.html                      |    6 +-
 docs/services/ipfs/index.html                      |    6 +-
 docs/services/ipmfs/index.html                     |    6 +-
 docs/services/memcached/index.html                 |    6 +-
 docs/services/memory/index.html                    |    6 +-
 docs/services/moka/index.html                      |    6 +-
 docs/services/obs/index.html                       |    6 +-
 docs/services/onedrive/index.html                  |    6 +-
 docs/services/oss/index.html                       |    6 +-
 docs/services/redis/index.html                     |    6 +-
 docs/services/rocksdb/index.html                   |    6 +-
 docs/services/s3/index.html                        |    6 +-
 docs/services/sftp/index.html                      |    6 +-
 docs/services/sled/index.html                      |    6 +-
 docs/services/supabase/index.html                  |    6 +-
 docs/services/wasabi/index.html                    |    6 +-
 docs/services/webdav/index.html                    |    6 +-
 docs/services/webhdfs/index.html                   |    6 +-
 download/index.html                                |    4 +-
 index.html                                         |    4 +-
 103 files changed, 1094 insertions(+), 1094 deletions(-)

diff --git a/404.html b/404.html
index ab294d93b..106488d51 100644
--- a/404.html
+++ b/404.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">Page Not Found | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/404.html"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/assets/js/054cd2fb.2f80409c.js b/assets/js/054cd2fb.31049e2d.js
similarity index 84%
rename from assets/js/054cd2fb.2f80409c.js
rename to assets/js/054cd2fb.31049e2d.js
index b9ecee4bb..45dcf46bb 100644
--- a/assets/js/054cd2fb.2f80409c.js
+++ b/assets/js/054cd2fb.31049e2d.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[1846],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>k});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[1846],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>k});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retu [...]
\ No newline at end of file
diff --git a/assets/js/093f5f04.bebe4d87.js b/assets/js/093f5f04.752fa1c6.js
similarity index 84%
rename from assets/js/093f5f04.bebe4d87.js
rename to assets/js/093f5f04.752fa1c6.js
index 980a106a7..c7c661a8a 100644
--- a/assets/js/093f5f04.bebe4d87.js
+++ b/assets/js/093f5f04.752fa1c6.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[6915],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>b});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[6915],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>b});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retu [...]
\ No newline at end of file
diff --git a/assets/js/136e1c50.a09aaa82.js b/assets/js/136e1c50.f75c3cc3.js
similarity index 83%
rename from assets/js/136e1c50.a09aaa82.js
rename to assets/js/136e1c50.f75c3cc3.js
index 0b2c19790..473d0872e 100644
--- a/assets/js/136e1c50.a09aaa82.js
+++ b/assets/js/136e1c50.f75c3cc3.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[3057],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[3057],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
diff --git a/assets/js/151cd40f.205b0817.js b/assets/js/151cd40f.cbfeffc2.js
similarity index 86%
rename from assets/js/151cd40f.205b0817.js
rename to assets/js/151cd40f.cbfeffc2.js
index f8562834d..47dbdd0f5 100644
--- a/assets/js/151cd40f.205b0817.js
+++ b/assets/js/151cd40f.cbfeffc2.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[3702],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>b});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[3702],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>b});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}retu [...]
\ No newline at end of file
diff --git a/assets/js/1957547a.62147943.js b/assets/js/1957547a.f0022aae.js
similarity index 86%
rename from assets/js/1957547a.62147943.js
rename to assets/js/1957547a.f0022aae.js
index f905c5009..1b9220d2d 100644
--- a/assets/js/1957547a.62147943.js
+++ b/assets/js/1957547a.f0022aae.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[4477],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[4477],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
diff --git a/assets/js/1db64337.2403237a.js b/assets/js/1db64337.2403237a.js
new file mode 100644
index 000000000..26ff41bad
--- /dev/null
+++ b/assets/js/1db64337.2403237a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[1372],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>f});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}retu [...]
\ No newline at end of file
diff --git a/assets/js/1db64337.4f34b8cc.js b/assets/js/1db64337.4f34b8cc.js
deleted file mode 100644
index 515b1d2a3..000000000
--- a/assets/js/1db64337.4f34b8cc.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[1372],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>f});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}retu [...]
\ No newline at end of file
diff --git a/assets/js/22d8fa67.06ea6ac4.js b/assets/js/22d8fa67.8cbcd97e.js
similarity index 85%
rename from assets/js/22d8fa67.06ea6ac4.js
rename to assets/js/22d8fa67.8cbcd97e.js
index 520819c13..e95c75017 100644
--- a/assets/js/22d8fa67.06ea6ac4.js
+++ b/assets/js/22d8fa67.8cbcd97e.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[4536],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>b});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[4536],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>b});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retu [...]
\ No newline at end of file
diff --git a/assets/js/29b208a4.c32765f1.js b/assets/js/29b208a4.8384c496.js
similarity index 84%
rename from assets/js/29b208a4.c32765f1.js
rename to assets/js/29b208a4.8384c496.js
index e6fd93102..97dac50d8 100644
--- a/assets/js/29b208a4.c32765f1.js
+++ b/assets/js/29b208a4.8384c496.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[6152],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[6152],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
diff --git a/assets/js/2cbf1097.26a8b016.js b/assets/js/2cbf1097.b8dda2a4.js
similarity index 91%
rename from assets/js/2cbf1097.26a8b016.js
rename to assets/js/2cbf1097.b8dda2a4.js
index e9f062ca9..94b7481e4 100644
--- a/assets/js/2cbf1097.26a8b016.js
+++ b/assets/js/2cbf1097.b8dda2a4.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[2804],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>k});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[2804],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>k});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retu [...]
\ No newline at end of file
diff --git a/assets/js/434bbc94.2da6f918.js b/assets/js/434bbc94.1ae0e0b3.js
similarity index 85%
rename from assets/js/434bbc94.2da6f918.js
rename to assets/js/434bbc94.1ae0e0b3.js
index c6f5c005b..f52e340af 100644
--- a/assets/js/434bbc94.2da6f918.js
+++ b/assets/js/434bbc94.1ae0e0b3.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[1163],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[1163],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
diff --git a/assets/js/57a16c1d.8c23f48d.js b/assets/js/57a16c1d.90123f7b.js
similarity index 83%
rename from assets/js/57a16c1d.8c23f48d.js
rename to assets/js/57a16c1d.90123f7b.js
index 762d6630a..4328c4c71 100644
--- a/assets/js/57a16c1d.8c23f48d.js
+++ b/assets/js/57a16c1d.90123f7b.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[7757],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>b});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[7757],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>b});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retu [...]
\ No newline at end of file
diff --git a/assets/js/592d1076.a2bb26e1.js b/assets/js/592d1076.6fd6b3a3.js
similarity index 83%
rename from assets/js/592d1076.a2bb26e1.js
rename to assets/js/592d1076.6fd6b3a3.js
index bcc28541d..ff7aa5a10 100644
--- a/assets/js/592d1076.a2bb26e1.js
+++ b/assets/js/592d1076.6fd6b3a3.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[990],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[990],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/621b831b.4c2260f9.js b/assets/js/621b831b.03efd53e.js
similarity index 84%
rename from assets/js/621b831b.4c2260f9.js
rename to assets/js/621b831b.03efd53e.js
index 64ca4b8b3..ff7decac7 100644
--- a/assets/js/621b831b.4c2260f9.js
+++ b/assets/js/621b831b.03efd53e.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[4551],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>b});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[4551],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>b});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retu [...]
\ No newline at end of file
diff --git a/assets/js/7263c0b5.188087c0.js b/assets/js/7263c0b5.237fbcf0.js
similarity index 86%
rename from assets/js/7263c0b5.188087c0.js
rename to assets/js/7263c0b5.237fbcf0.js
index 32099de6a..34eb219e9 100644
--- a/assets/js/7263c0b5.188087c0.js
+++ b/assets/js/7263c0b5.237fbcf0.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[4649],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>k});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[4649],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>k});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
diff --git a/assets/js/8070e160.416d9706.js b/assets/js/8070e160.416d9706.js
new file mode 100644
index 000000000..0417c76b4
--- /dev/null
+++ b/assets/js/8070e160.416d9706.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[2651],{3905:(e,n,t)=>{t.d(n,{Zo:()=>s,kt:()=>g});var a=t(7294);function l(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}retu [...]
\ No newline at end of file
diff --git a/assets/js/8070e160.690999e3.js b/assets/js/8070e160.690999e3.js
deleted file mode 100644
index 88fe9d6a3..000000000
--- a/assets/js/8070e160.690999e3.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[2651],{3905:(e,n,t)=>{t.d(n,{Zo:()=>s,kt:()=>g});var a=t(7294);function l(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}retu [...]
\ No newline at end of file
diff --git a/assets/js/8b18d929.2bf1c630.js b/assets/js/8b18d929.259f32f9.js
similarity index 89%
rename from assets/js/8b18d929.2bf1c630.js
rename to assets/js/8b18d929.259f32f9.js
index 283ab58f8..9c1ca320e 100644
--- a/assets/js/8b18d929.2bf1c630.js
+++ b/assets/js/8b18d929.259f32f9.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[6299],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>k});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[6299],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>k});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
diff --git a/assets/js/8cc9519e.dc7a0187.js b/assets/js/8cc9519e.30352a22.js
similarity index 89%
rename from assets/js/8cc9519e.dc7a0187.js
rename to assets/js/8cc9519e.30352a22.js
index a431ea973..877557131 100644
--- a/assets/js/8cc9519e.dc7a0187.js
+++ b/assets/js/8cc9519e.30352a22.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[1652],{3905:(e,t,a)=>{a.d(t,{Zo:()=>o,kt:()=>k});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[1652],{3905:(e,t,a)=>{a.d(t,{Zo:()=>o,kt:()=>k});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retu [...]
\ No newline at end of file
diff --git a/assets/js/8f4159f2.d412bf85.js b/assets/js/8f4159f2.25145380.js
similarity index 88%
rename from assets/js/8f4159f2.d412bf85.js
rename to assets/js/8f4159f2.25145380.js
index 5470feb22..1d8b39609 100644
--- a/assets/js/8f4159f2.d412bf85.js
+++ b/assets/js/8f4159f2.25145380.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[4719],{3905:(e,t,a)=>{a.d(t,{Zo:()=>o,kt:()=>k});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[4719],{3905:(e,t,a)=>{a.d(t,{Zo:()=>o,kt:()=>k});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}retu [...]
\ No newline at end of file
diff --git a/assets/js/939f74f6.b315569a.js b/assets/js/939f74f6.2ac0b9de.js
similarity index 86%
rename from assets/js/939f74f6.b315569a.js
rename to assets/js/939f74f6.2ac0b9de.js
index 23a98a9f8..9cd8825f2 100644
--- a/assets/js/939f74f6.b315569a.js
+++ b/assets/js/939f74f6.2ac0b9de.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[4277],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[4277],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
diff --git a/assets/js/a0405932.4d6a794e.js b/assets/js/a0405932.739e9b1c.js
similarity index 84%
rename from assets/js/a0405932.4d6a794e.js
rename to assets/js/a0405932.739e9b1c.js
index 98f6b0ac6..a5971d2c5 100644
--- a/assets/js/a0405932.4d6a794e.js
+++ b/assets/js/a0405932.739e9b1c.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[716],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>k});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retur [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[716],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>k});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retur [...]
\ No newline at end of file
diff --git a/assets/js/b114cefa.01397654.js b/assets/js/b114cefa.dc86d50b.js
similarity index 84%
rename from assets/js/b114cefa.01397654.js
rename to assets/js/b114cefa.dc86d50b.js
index 77a9024e6..a212f7e31 100644
--- a/assets/js/b114cefa.01397654.js
+++ b/assets/js/b114cefa.dc86d50b.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[2161],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>b});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[2161],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>b});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retu [...]
\ No newline at end of file
diff --git a/assets/js/b56f9725.423f0171.js b/assets/js/b56f9725.bef8bca9.js
similarity index 84%
rename from assets/js/b56f9725.423f0171.js
rename to assets/js/b56f9725.bef8bca9.js
index ef4dfbc16..e2550b2f3 100644
--- a/assets/js/b56f9725.423f0171.js
+++ b/assets/js/b56f9725.bef8bca9.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[217],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>f});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[217],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>f});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retur [...]
\ No newline at end of file
diff --git a/assets/js/bb5b2057.2a47ceba.js b/assets/js/bb5b2057.d5759f27.js
similarity index 83%
rename from assets/js/bb5b2057.2a47ceba.js
rename to assets/js/bb5b2057.d5759f27.js
index 4405e9a2d..d051623de 100644
--- a/assets/js/bb5b2057.2a47ceba.js
+++ b/assets/js/bb5b2057.d5759f27.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[5214],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>f});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[5214],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>f});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retu [...]
\ No newline at end of file
diff --git a/assets/js/c46c6b55.116880e0.js b/assets/js/c46c6b55.e50f3790.js
similarity index 83%
rename from assets/js/c46c6b55.116880e0.js
rename to assets/js/c46c6b55.e50f3790.js
index e887765f8..fe0e0f9ad 100644
--- a/assets/js/c46c6b55.116880e0.js
+++ b/assets/js/c46c6b55.e50f3790.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[5927],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[5927],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
diff --git a/assets/js/c6ab695b.5dbeaeeb.js b/assets/js/c6ab695b.836413bc.js
similarity index 85%
rename from assets/js/c6ab695b.5dbeaeeb.js
rename to assets/js/c6ab695b.836413bc.js
index d5decc459..6cf430404 100644
--- a/assets/js/c6ab695b.5dbeaeeb.js
+++ b/assets/js/c6ab695b.836413bc.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[7289],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[7289],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
diff --git a/assets/js/cc62039a.b4a9d454.js b/assets/js/cc62039a.23bc7567.js
similarity index 89%
rename from assets/js/cc62039a.b4a9d454.js
rename to assets/js/cc62039a.23bc7567.js
index 26fc645d2..e62f5a21e 100644
--- a/assets/js/cc62039a.b4a9d454.js
+++ b/assets/js/cc62039a.23bc7567.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[1011],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>k});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[1011],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>k});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
diff --git a/assets/js/d3c0d8d5.977979c6.js b/assets/js/d3c0d8d5.8b7037c7.js
similarity index 84%
rename from assets/js/d3c0d8d5.977979c6.js
rename to assets/js/d3c0d8d5.8b7037c7.js
index 07f398d1e..ce7ed1656 100644
--- a/assets/js/d3c0d8d5.977979c6.js
+++ b/assets/js/d3c0d8d5.8b7037c7.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[4790],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[4790],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
diff --git a/assets/js/ddccef4c.f99da2a5.js b/assets/js/ddccef4c.9efa57fb.js
similarity index 86%
rename from assets/js/ddccef4c.f99da2a5.js
rename to assets/js/ddccef4c.9efa57fb.js
index 57fec71b0..f6ebef0a0 100644
--- a/assets/js/ddccef4c.f99da2a5.js
+++ b/assets/js/ddccef4c.9efa57fb.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[9826],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>k});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[9826],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>k});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
diff --git a/assets/js/e892cec6.cc7d659e.js b/assets/js/e892cec6.c04a2ab6.js
similarity index 86%
rename from assets/js/e892cec6.cc7d659e.js
rename to assets/js/e892cec6.c04a2ab6.js
index 0ae44ecce..918dd4353 100644
--- a/assets/js/e892cec6.cc7d659e.js
+++ b/assets/js/e892cec6.c04a2ab6.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[3845],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>f});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[3845],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>f});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
diff --git a/assets/js/f1ca5a39.981c018b.js b/assets/js/f1ca5a39.a6e76e5a.js
similarity index 87%
rename from assets/js/f1ca5a39.981c018b.js
rename to assets/js/f1ca5a39.a6e76e5a.js
index 512016c01..6b800a530 100644
--- a/assets/js/f1ca5a39.981c018b.js
+++ b/assets/js/f1ca5a39.a6e76e5a.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[4538],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[4538],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>b});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}retu [...]
\ No newline at end of file
diff --git a/assets/js/f9145722.12429c0a.js b/assets/js/f9145722.084fc7ee.js
similarity index 86%
rename from assets/js/f9145722.12429c0a.js
rename to assets/js/f9145722.084fc7ee.js
index 856fb2c5f..2a2ab3355 100644
--- a/assets/js/f9145722.12429c0a.js
+++ b/assets/js/f9145722.084fc7ee.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[6529],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[6529],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}retu [...]
\ No newline at end of file
diff --git a/assets/js/fde7cc64.2134c2ea.js b/assets/js/fde7cc64.c02d502e.js
similarity index 85%
rename from assets/js/fde7cc64.2134c2ea.js
rename to assets/js/fde7cc64.c02d502e.js
index 1abc97d3f..f32f47842 100644
--- a/assets/js/fde7cc64.2134c2ea.js
+++ b/assets/js/fde7cc64.c02d502e.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[3454],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>f});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retu [...]
\ No newline at end of file
+"use strict";(self.webpackChunkopendal_website=self.webpackChunkopendal_website||[]).push([[3454],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>f});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}retu [...]
\ No newline at end of file
diff --git a/assets/js/runtime~main.f90f3213.js b/assets/js/runtime~main.0bb74d23.js
similarity index 57%
rename from assets/js/runtime~main.f90f3213.js
rename to assets/js/runtime~main.0bb74d23.js
index 29c9ff034..376c4bed6 100644
--- a/assets/js/runtime~main.f90f3213.js
+++ b/assets/js/runtime~main.0bb74d23.js
@@ -1 +1 @@
-(()=>{"use strict";var e,c,a,f,b,d={},t={};function r(e){var c=t[e];if(void 0!==c)return c.exports;var a=t[e]={exports:{}};return d[e].call(a.exports,a,a.exports,r),a.exports}r.m=d,e=[],r.O=(c,a,f,b)=>{if(!a){var d=1/0;for(i=0;i<e.length;i++){a=e[i][0],f=e[i][1],b=e[i][2];for(var t=!0,o=0;o<a.length;o++)(!1&b||d>=b)&&Object.keys(r.O).every((e=>r.O[e](a[o])))?a.splice(o--,1):(t=!1,b<d&&(d=b));if(t){e.splice(i--,1);var n=f();void 0!==n&&(c=n)}}return c}b=b||0;for(var i=e.length;i>0&&e[i-1] [...]
\ No newline at end of file
+(()=>{"use strict";var e,c,a,b,f,d={},t={};function r(e){var c=t[e];if(void 0!==c)return c.exports;var a=t[e]={exports:{}};return d[e].call(a.exports,a,a.exports,r),a.exports}r.m=d,e=[],r.O=(c,a,b,f)=>{if(!a){var d=1/0;for(i=0;i<e.length;i++){a=e[i][0],b=e[i][1],f=e[i][2];for(var t=!0,o=0;o<a.length;o++)(!1&f||d>=f)&&Object.keys(r.O).every((e=>r.O[e](a[o])))?a.splice(o--,1):(t=!1,f<d&&(d=f));if(t){e.splice(i--,1);var n=b();void 0!==n&&(c=n)}}return c}f=f||0;for(var i=e.length;i>0&&e[i-1] [...]
\ No newline at end of file
diff --git a/blog/archive/index.html b/blog/archive/index.html
index 1eb7d139b..381a0b7bf 100644
--- a/blog/archive/index.html
+++ b/blog/archive/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">Archive | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/blog/archive"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="t [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/how-opendal-read-data/index.html b/blog/how-opendal-read-data/index.html
index a9d8e1fce..e0614dd9f 100644
--- a/blog/how-opendal-read-data/index.html
+++ b/blog/how-opendal-read-data/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">OpenDAL Internal: Data Reading | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/blog/how-opendal-read-data"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:la [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/index.html b/blog/index.html
index 9a0ba78c3..68b87aa2c 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">Blog | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/blog"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" property="og:title" content="Blog | Apache OpenDAL"><meta data-rh=" [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/opendal-access-data-freely/index.html b/blog/opendal-access-data-freely/index.html
index 9de648640..2ccb6a0b9 100644
--- a/blog/opendal-access-data-freely/index.html
+++ b/blog/opendal-access-data-freely/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">Apache OpenDAL(Incubating): Access Data Freely | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/blog/opendal-access-data-freely"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="tru [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/opendal-entered-apache-incubator/index.html b/blog/opendal-entered-apache-incubator/index.html
index d72881ed4..26340d7f3 100644
--- a/blog/opendal-entered-apache-incubator/index.html
+++ b/blog/opendal-entered-apache-incubator/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">Way to Go: OpenDAL successfully entered Apache Incubator | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/blog/opendal-entered-apache-incubator"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><m [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/owo-1/index.html b/blog/owo-1/index.html
index b5158ac3f..5c0c6658d 100644
--- a/blog/owo-1/index.html
+++ b/blog/owo-1/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">OwO #1: The v0.40 Release | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/blog/owo-1"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="en"> [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/tags/announcement/index.html b/blog/tags/announcement/index.html
index 42dfdc42d..9e0f355cd 100644
--- a/blog/tags/announcement/index.html
+++ b/blog/tags/announcement/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">2 posts tagged with &quot;announcement&quot; | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/blog/tags/announcement"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" property= [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/tags/index.html b/blog/tags/index.html
index e21c80006..23dda81e8 100644
--- a/blog/tags/index.html
+++ b/blog/tags/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">Tags | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/blog/tags"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" property="og:title" content="Tags | Apache OpenDAL"><meta data [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/tags/internal/index.html b/blog/tags/internal/index.html
index 95d07d23e..44023a4d9 100644
--- a/blog/tags/internal/index.html
+++ b/blog/tags/internal/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">One post tagged with &quot;internal&quot; | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/blog/tags/internal"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" property="og:tit [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/blog/tags/owo/index.html b/blog/tags/owo/index.html
index 2bfc4ef6e..1bcacdd91 100644
--- a/blog/tags/owo/index.html
+++ b/blog/tags/owo/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">One post tagged with &quot;owo&quot; | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/blog/tags/owo"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" property="og:title" conten [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/community/category/committers/index.html b/community/category/committers/index.html
index d8e398b22..a99d593d1 100644
--- a/community/category/committers/index.html
+++ b/community/category/committers/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">Committers | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/community/category/committers"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="c [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/community/category/reference/index.html b/community/category/reference/index.html
index 5eb5160de..72a67868b 100644
--- a/community/category/reference/index.html
+++ b/community/category/reference/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">Reference | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/community/category/reference"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="cur [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/community/committers/committer/index.html b/community/committers/committer/index.html
index 752f80e12..f437bacfb 100644
--- a/community/committers/committer/index.html
+++ b/community/committers/committer/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">Committer onboarding | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/community/committers/committer"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/community/committers/podling-report/index.html b/community/committers/podling-report/index.html
index c7ec63a9f..0390ac20e 100644
--- a/community/committers/podling-report/index.html
+++ b/community/committers/podling-report/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">Podling status reports | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/community/committers/podling-report"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_v [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/community/committers/reference/generate_release_note/index.html b/community/committers/reference/generate_release_note/index.html
index d2531f736..16903a9b8 100644
--- a/community/committers/reference/generate_release_note/index.html
+++ b/community/committers/reference/generate_release_note/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">Generate release note | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/community/committers/reference/generate_release_note"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" na [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/community/committers/reference/setup_gpg/index.html b/community/committers/reference/setup_gpg/index.html
index a337da57c..7d791d98a 100644
--- a/community/committers/reference/setup_gpg/index.html
+++ b/community/committers/reference/setup_gpg/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">Setup GPG key | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/community/committers/reference/setup_gpg"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_versi [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/community/committers/release/index.html b/community/committers/release/index.html
index e24963eda..26472918a 100644
--- a/community/committers/release/index.html
+++ b/community/committers/release/index.html
@@ -5,7 +5,7 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">Create a OpenDAL Release | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/community/committers/release"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_versio [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -17,7 +17,7 @@ we will abandon that version and prepare for the next one.
 Our release page will only display ASF releases instead of GitHub Releases.</p><ul><li><code>opendal_version</code>: the version for opendal, like <code>0.36.0</code>.</li><li><code>release_version</code>: the version for voting, like <code>0.36.0-rc.1</code>.</li><li><code>rc_version</code>: the minor version for voting, like <code>rc.1</code>.</li></ul><h3 class="anchor anchorWithStickyNavbar_LWe7" id="create-an-asf-release">Create an ASF Release<a href="#create-an-asf-release" class=" [...]
 please cancel the release for the current <code>release_version</code>,
 <em>increase th RC counting</em> and re-initiate a release with the new <code>release_version</code>.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="voting">Voting<a href="#voting" class="hash-link" aria-label="Direct link to Voting" title="Direct link to Voting">​</a></h2><p>As an incubating project, OpenDAL requires votes from both the OpenDAL Community and Incubator Community.</p><ul><li><code>opendal_version</code>: the version for opendal, like <code>0.36.0</code>.</li><li><c [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/community/committers/verify/index.html b/community/committers/verify/index.html
index eea54c726..bab2c4d53 100644
--- a/community/committers/verify/index.html
+++ b/community/committers/verify/index.html
@@ -5,7 +5,7 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">Verify a release candidate | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/community/committers/verify"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_versi [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -13,7 +13,7 @@
 <div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
 You can download it directly from <a href="https://raw.githubusercontent.com/apache/incubator-opendal/main/scripts/check.sh" target="_blank" rel="noopener noreferrer">here</a>
 or check it out from the repository:</p><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-shell codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">git</span><span class="token plain"> clone git@github.com:apache/incuba [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/community/index.html b/community/index.html
index 85df16d2d..a84f2a642 100644
--- a/community/index.html
+++ b/community/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">Community | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/community/"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-r [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/category/services/index.html b/docs/category/services/index.html
index 98fa9c08a..0e286b9fc 100644
--- a/docs/category/services/index.html
+++ b/docs/category/services/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">Services | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/docs/category/services"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current">< [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/haskell/src/OpenDAL.FFI.html b/docs/haskell/src/OpenDAL.FFI.html
index 05be78187..52bb8197c 100644
--- a/docs/haskell/src/OpenDAL.FFI.html
+++ b/docs/haskell/src/OpenDAL.FFI.html
@@ -25,15 +25,15 @@
 </span><span id="line-25"></span><span>
 </span><span id="line-26"></span><span class="hs-keyword">data</span><span> </span><span id="RawLister"><span class="annot"><a href="OpenDAL.FFI.html#RawLister"><span class="hs-identifier hs-var">RawLister</span></a></span></span><span>
 </span><span id="line-27"></span><span>
-</span><span id="line-28"></span><span class="hs-keyword">data</span><span> </span><span id="FFIResult"><span class="annot"><a href="OpenDAL.FFI.html#FFIResult"><span class="hs-identifier hs-var">FFIResult</span></a></span></span><span> </span><span id="local-6989586621679060203"><span class="annot"><a href="#local-6989586621679060203"><span class="hs-identifier hs-type">a</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="FFIResult"><span class= [...]
+</span><span id="line-28"></span><span class="hs-keyword">data</span><span> </span><span id="FFIResult"><span class="annot"><a href="OpenDAL.FFI.html#FFIResult"><span class="hs-identifier hs-var">FFIResult</span></a></span></span><span> </span><span id="local-6989586621679060629"><span class="annot"><a href="#local-6989586621679060629"><span class="hs-identifier hs-type">a</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="FFIResult"><span class= [...]
 </span><span id="line-29"></span><span>  </span><span class="hs-special">{</span><span> </span><span id="ffiCode"><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; CUInt
 </span><a href="OpenDAL.FFI.html#ffiCode"><span class="hs-identifier hs-var hs-var">ffiCode</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">CUInt</span></a></span><span class="hs-special">,</span><span>
 </span><span id="line-30"></span><span>    </span><span id="dataPtr"><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; Ptr a
-</span><a href="OpenDAL.FFI.html#dataPtr"><span class="hs-identifier hs-var hs-var">dataPtr</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">Ptr</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679060203"><span class="hs-identifier hs-type">a</span></a></span><span class= [...]
+</span><a href="OpenDAL.FFI.html#dataPtr"><span class="hs-identifier hs-var hs-var">dataPtr</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">Ptr</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679060629"><span class="hs-identifier hs-type">a</span></a></span><span class= [...]
 </span><span id="line-31"></span><span>    </span><span id="errorMessage"><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; CString
 </span><a href="OpenDAL.FFI.html#errorMessage"><span class="hs-identifier hs-var hs-var">errorMessage</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">CString</span></a></span><span>
 </span><span id="line-32"></span><span>  </span><span class="hs-special">}</span><span>
-</span><span id="line-33"></span><span>  </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span id="local-6989586621679060139"><span id="local-6989586621679060141"><span id="local-6989586621679060150"><span class="annot"><span class="annottext">Int -&gt; FFIResult a -&gt; ShowS
+</span><span id="line-33"></span><span>  </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span id="local-6989586621679060565"><span id="local-6989586621679060567"><span id="local-6989586621679060576"><span class="annot"><span class="annottext">Int -&gt; FFIResult a -&gt; ShowS
 forall a. Int -&gt; FFIResult a -&gt; ShowS
 forall a. [FFIResult a] -&gt; ShowS
 forall a. FFIResult a -&gt; String
@@ -47,8 +47,8 @@ showsPrec :: Int -&gt; FFIResult a -&gt; ShowS
 $cshowsPrec :: forall a. Int -&gt; FFIResult a -&gt; ShowS
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Show</span></a></span></span></span></span><span class="hs-special">)</span><span>
 </span><span id="line-34"></span><span>
-</span><span id="line-35"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679060128"><span id="local-6989586621679060130"><span id="local-6989586621679060132"><span id="local-6989586621679060134"><span id="local-6989586621679060191"><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">Storable</span></a></span><span> </span><span class="hs-special [...]
-</span><span id="line-36"></span><span>  </span><span id="local-6989586621679060110"><span class="annot"><span class="annottext">sizeOf :: FFIResult a -&gt; Int
+</span><span id="line-35"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679060554"><span id="local-6989586621679060556"><span id="local-6989586621679060558"><span id="local-6989586621679060560"><span id="local-6989586621679060617"><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">Storable</span></a></span><span> </span><span class="hs-special [...]
+</span><span id="line-36"></span><span>  </span><span id="local-6989586621679060536"><span class="annot"><span class="annottext">sizeOf :: FFIResult a -&gt; Int
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var hs-var hs-var hs-var">sizeOf</span></a></span></span><span> </span><span class="annot"><span class="annottext">FFIResult a
 </span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; a -&gt; Int
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">sizeOf</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. HasCallStack =&gt; a
@@ -59,82 +59,82 @@ $cshowsPrec :: forall a. Int -&gt; FFIResult a -&gt; ShowS
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; a -&gt; Int
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">sizeOf</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. HasCallStack =&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">undefined</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">CString</span></a></span><span class="hs-special">)</span><span>
-</span><span id="line-37"></span><span>  </span><span id="local-6989586621679060103"><span class="annot"><span class="annottext">alignment :: FFIResult a -&gt; Int
+</span><span id="line-37"></span><span>  </span><span id="local-6989586621679060529"><span class="annot"><span class="annottext">alignment :: FFIResult a -&gt; Int
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var hs-var hs-var hs-var">alignment</span></a></span></span><span> </span><span class="annot"><span class="annottext">FFIResult a
 </span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; a -&gt; Int
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">alignment</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. HasCallStack =&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">undefined</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">CSize</span></a></span><span class="hs-special">)</span><span>
-</span><span id="line-38"></span><span>  </span><span id="local-6989586621679060092"><span class="annot"><span class="annottext">peek :: Ptr (FFIResult a) -&gt; IO (FFIResult a)
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var hs-var hs-var hs-var">peek</span></a></span></span><span> </span><span id="local-6989586621679060090"><span class="annot"><span class="annottext">Ptr (FFIResult a)
-</span><a href="#local-6989586621679060090"><span class="hs-identifier hs-var">ptr</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
-</span><span id="line-39"></span><span>    </span><span id="local-6989586621679060089"><span class="annot"><span class="annottext">CUInt
-</span><a href="#local-6989586621679060089"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; IO a
+</span><span id="line-38"></span><span>  </span><span id="local-6989586621679060518"><span class="annot"><span class="annottext">peek :: Ptr (FFIResult a) -&gt; IO (FFIResult a)
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var hs-var hs-var hs-var">peek</span></a></span></span><span> </span><span id="local-6989586621679060516"><span class="annot"><span class="annottext">Ptr (FFIResult a)
+</span><a href="#local-6989586621679060516"><span class="hs-identifier hs-var">ptr</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
+</span><span id="line-39"></span><span>    </span><span id="local-6989586621679060515"><span class="annot"><span class="annottext">CUInt
+</span><a href="#local-6989586621679060515"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peekByteOff</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult a)
-</span><a href="#local-6989586621679060090"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679060087"><span class="hs-identifier hs-var">codeOffset</span></a></span><span>
-</span><span id="line-40"></span><span>    </span><span id="local-6989586621679060086"><span class="annot"><span class="annottext">Ptr a
-</span><a href="#local-6989586621679060086"><span class="hs-identifier hs-var">d</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; IO a
+</span><a href="#local-6989586621679060516"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060513"><span class="hs-identifier hs-var">codeOffset</span></a></span><span>
+</span><span id="line-40"></span><span>    </span><span id="local-6989586621679060512"><span class="annot"><span class="annottext">Ptr a
+</span><a href="#local-6989586621679060512"><span class="hs-identifier hs-var">d</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peekByteOff</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult a)
-</span><a href="#local-6989586621679060090"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679060085"><span class="hs-identifier hs-var">dataPtrOffset</span></a></span><span>
-</span><span id="line-41"></span><span>    </span><span id="local-6989586621679060084"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060084"><span class="hs-identifier hs-var">errMsg</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; IO a
+</span><a href="#local-6989586621679060516"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060511"><span class="hs-identifier hs-var">dataPtrOffset</span></a></span><span>
+</span><span id="line-41"></span><span>    </span><span id="local-6989586621679060510"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060510"><span class="hs-identifier hs-var">errMsg</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peekByteOff</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult a)
-</span><a href="#local-6989586621679060090"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679060083"><span class="hs-identifier hs-var">errorMessageOffset</span></a></span><span>
+</span><a href="#local-6989586621679060516"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060509"><span class="hs-identifier hs-var">errorMessageOffset</span></a></span><span>
 </span><span id="line-42"></span><span>    </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. CUInt -&gt; Ptr a -&gt; CString -&gt; FFIResult a
 </span><a href="OpenDAL.FFI.html#FFIResult"><span class="hs-identifier hs-var">FFIResult</span></a></span><span> </span><span class="annot"><span class="annottext">CUInt
-</span><a href="#local-6989586621679060089"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr a
-</span><a href="#local-6989586621679060086"><span class="hs-identifier hs-var">d</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060084"><span class="hs-identifier hs-var">errMsg</span></a></span><span>
+</span><a href="#local-6989586621679060515"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr a
+</span><a href="#local-6989586621679060512"><span class="hs-identifier hs-var">d</span></a></span><span> </span><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060510"><span class="hs-identifier hs-var">errMsg</span></a></span><span>
 </span><span id="line-43"></span><span>    </span><span class="hs-keyword">where</span><span>
-</span><span id="line-44"></span><span>      </span><span id="local-6989586621679060087"><span class="annot"><span class="annottext">codeOffset :: Int
-</span><a href="#local-6989586621679060087"><span class="hs-identifier hs-var hs-var">codeOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
+</span><span id="line-44"></span><span>      </span><span id="local-6989586621679060513"><span class="annot"><span class="annottext">codeOffset :: Int
+</span><a href="#local-6989586621679060513"><span class="hs-identifier hs-var hs-var">codeOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
 </span><span class="hs-number">0</span></span><span>
-</span><span id="line-45"></span><span>      </span><span id="local-6989586621679060085"><span class="annot"><span class="annottext">dataPtrOffset :: Int
-</span><a href="#local-6989586621679060085"><span class="hs-identifier hs-var hs-var">dataPtrOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; a -&gt; Int
+</span><span id="line-45"></span><span>      </span><span id="local-6989586621679060511"><span class="annot"><span class="annottext">dataPtrOffset :: Int
+</span><a href="#local-6989586621679060511"><span class="hs-identifier hs-var hs-var">dataPtrOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; a -&gt; Int
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">sizeOf</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. HasCallStack =&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">undefined</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">CSize</span></a></span><span class="hs-special">)</span><span>
-</span><span id="line-46"></span><span>      </span><span id="local-6989586621679060083"><span class="annot"><span class="annottext">errorMessageOffset :: Int
-</span><a href="#local-6989586621679060083"><span class="hs-identifier hs-var hs-var">errorMessageOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679060085"><span class="hs-identifier hs-var">dataPtrOffset</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Num a =&gt; a -&gt; a -&gt; a
+</span><span id="line-46"></span><span>      </span><span id="local-6989586621679060509"><span class="annot"><span class="annottext">errorMessageOffset :: Int
+</span><a href="#local-6989586621679060509"><span class="hs-identifier hs-var hs-var">errorMessageOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060511"><span class="hs-identifier hs-var">dataPtrOffset</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Num a =&gt; a -&gt; a -&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; a -&gt; Int
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">sizeOf</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. HasCallStack =&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">undefined</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">Ptr</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><spa [...]
-</span><span id="line-47"></span><span>  </span><span id="local-6989586621679060069"><span class="annot"><span class="annottext">poke :: Ptr (FFIResult a) -&gt; FFIResult a -&gt; IO ()
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var hs-var hs-var hs-var">poke</span></a></span></span><span> </span><span id="local-6989586621679060067"><span class="annot"><span class="annottext">Ptr (FFIResult a)
-</span><a href="#local-6989586621679060067"><span class="hs-identifier hs-var">ptr</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="OpenDAL.FFI.html#FFIResult"><span class="hs-identifier hs-type">FFIResult</span></a></span><span> </span><span id="local-6989586621679060066"><span class="annot"><span class="annottext">CUInt
-</span><a href="#local-6989586621679060066"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span id="local-6989586621679060065"><span class="annot"><span class="annottext">Ptr a
-</span><a href="#local-6989586621679060065"><span class="hs-identifier hs-var">d</span></a></span></span><span> </span><span id="local-6989586621679060064"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060064"><span class="hs-identifier hs-var">errMsg</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
+</span><span id="line-47"></span><span>  </span><span id="local-6989586621679060495"><span class="annot"><span class="annottext">poke :: Ptr (FFIResult a) -&gt; FFIResult a -&gt; IO ()
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var hs-var hs-var hs-var">poke</span></a></span></span><span> </span><span id="local-6989586621679060493"><span class="annot"><span class="annottext">Ptr (FFIResult a)
+</span><a href="#local-6989586621679060493"><span class="hs-identifier hs-var">ptr</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="OpenDAL.FFI.html#FFIResult"><span class="hs-identifier hs-type">FFIResult</span></a></span><span> </span><span id="local-6989586621679060492"><span class="annot"><span class="annottext">CUInt
+</span><a href="#local-6989586621679060492"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span id="local-6989586621679060491"><span class="annot"><span class="annottext">Ptr a
+</span><a href="#local-6989586621679060491"><span class="hs-identifier hs-var">d</span></a></span></span><span> </span><span id="local-6989586621679060490"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060490"><span class="hs-identifier hs-var">errMsg</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
 </span><span id="line-48"></span><span>    </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; a -&gt; IO ()
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">pokeByteOff</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult a)
-</span><a href="#local-6989586621679060067"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679060062"><span class="hs-identifier hs-var">codeOffset</span></a></span><span> </span><span class="annot"><span class="annottext">CUInt
-</span><a href="#local-6989586621679060066"><span class="hs-identifier hs-var">s</span></a></span><span>
+</span><a href="#local-6989586621679060493"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060488"><span class="hs-identifier hs-var">codeOffset</span></a></span><span> </span><span class="annot"><span class="annottext">CUInt
+</span><a href="#local-6989586621679060492"><span class="hs-identifier hs-var">s</span></a></span><span>
 </span><span id="line-49"></span><span>    </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; a -&gt; IO ()
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">pokeByteOff</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult a)
-</span><a href="#local-6989586621679060067"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679060061"><span class="hs-identifier hs-var">dataPtrOffset</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr a
-</span><a href="#local-6989586621679060065"><span class="hs-identifier hs-var">d</span></a></span><span>
+</span><a href="#local-6989586621679060493"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060487"><span class="hs-identifier hs-var">dataPtrOffset</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr a
+</span><a href="#local-6989586621679060491"><span class="hs-identifier hs-var">d</span></a></span><span>
 </span><span id="line-50"></span><span>    </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; a -&gt; IO ()
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">pokeByteOff</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult a)
-</span><a href="#local-6989586621679060067"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679060060"><span class="hs-identifier hs-var">errorMessageOffset</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060064"><span class="hs-identifier hs-var">errMsg</span></a></span><span>
+</span><a href="#local-6989586621679060493"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060486"><span class="hs-identifier hs-var">errorMessageOffset</span></a></span><span> </span><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060490"><span class="hs-identifier hs-var">errMsg</span></a></span><span>
 </span><span id="line-51"></span><span>    </span><span class="hs-keyword">where</span><span>
-</span><span id="line-52"></span><span>      </span><span id="local-6989586621679060062"><span class="annot"><span class="annottext">codeOffset :: Int
-</span><a href="#local-6989586621679060062"><span class="hs-identifier hs-var hs-var">codeOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
+</span><span id="line-52"></span><span>      </span><span id="local-6989586621679060488"><span class="annot"><span class="annottext">codeOffset :: Int
+</span><a href="#local-6989586621679060488"><span class="hs-identifier hs-var hs-var">codeOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
 </span><span class="hs-number">0</span></span><span>
-</span><span id="line-53"></span><span>      </span><span id="local-6989586621679060061"><span class="annot"><span class="annottext">dataPtrOffset :: Int
-</span><a href="#local-6989586621679060061"><span class="hs-identifier hs-var hs-var">dataPtrOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; a -&gt; Int
+</span><span id="line-53"></span><span>      </span><span id="local-6989586621679060487"><span class="annot"><span class="annottext">dataPtrOffset :: Int
+</span><a href="#local-6989586621679060487"><span class="hs-identifier hs-var hs-var">dataPtrOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; a -&gt; Int
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">sizeOf</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. HasCallStack =&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">undefined</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">CSize</span></a></span><span class="hs-special">)</span><span>
-</span><span id="line-54"></span><span>      </span><span id="local-6989586621679060060"><span class="annot"><span class="annottext">errorMessageOffset :: Int
-</span><a href="#local-6989586621679060060"><span class="hs-identifier hs-var hs-var">errorMessageOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679060061"><span class="hs-identifier hs-var">dataPtrOffset</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Num a =&gt; a -&gt; a -&gt; a
+</span><span id="line-54"></span><span>      </span><span id="local-6989586621679060486"><span class="annot"><span class="annottext">errorMessageOffset :: Int
+</span><a href="#local-6989586621679060486"><span class="hs-identifier hs-var hs-var">errorMessageOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060487"><span class="hs-identifier hs-var">dataPtrOffset</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Num a =&gt; a -&gt; a -&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; a -&gt; Int
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">sizeOf</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. HasCallStack =&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">undefined</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">Ptr</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><spa [...]
@@ -146,68 +146,68 @@ $cshowsPrec :: forall a. Int -&gt; FFIResult a -&gt; ShowS
 </span><a href="OpenDAL.FFI.html#bsLen"><span class="hs-identifier hs-var hs-var">bsLen</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">CSize</span></a></span><span>
 </span><span id="line-59"></span><span>  </span><span class="hs-special">}</span><span>
 </span><span id="line-60"></span><span>
-</span><span id="line-61"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679060038"><span id="local-6989586621679060040"><span id="local-6989586621679060042"><span id="local-6989586621679060044"><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">Storable</span></a></span><span> </span><span class="annot"><a href="OpenDAL.FFI.html#ByteSlice"><sp [...]
-</span><span id="line-62"></span><span>  </span><span id="local-6989586621679060028"><span class="annot"><span class="annottext">sizeOf :: ByteSlice -&gt; Int
-</span><a href="#local-6989586621679060028"><span class="hs-identifier hs-var hs-var hs-var hs-var">sizeOf</span></a></span></span><span> </span><span class="annot"><span class="annottext">ByteSlice
+</span><span id="line-61"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679060464"><span id="local-6989586621679060466"><span id="local-6989586621679060468"><span id="local-6989586621679060470"><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">Storable</span></a></span><span> </span><span class="annot"><a href="OpenDAL.FFI.html#ByteSlice"><sp [...]
+</span><span id="line-62"></span><span>  </span><span id="local-6989586621679060454"><span class="annot"><span class="annottext">sizeOf :: ByteSlice -&gt; Int
+</span><a href="#local-6989586621679060454"><span class="hs-identifier hs-var hs-var hs-var hs-var">sizeOf</span></a></span></span><span> </span><span class="annot"><span class="annottext">ByteSlice
 </span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; a -&gt; Int
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">sizeOf</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. HasCallStack =&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">undefined</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">Ptr</span></a></span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/sha [...]
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; a -&gt; Int
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">sizeOf</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. HasCallStack =&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">undefined</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">CSize</span></a></span><span class="hs-special">)</span><span>
-</span><span id="line-63"></span><span>  </span><span id="local-6989586621679060024"><span class="annot"><span class="annottext">alignment :: ByteSlice -&gt; Int
-</span><a href="#local-6989586621679060024"><span class="hs-identifier hs-var hs-var hs-var hs-var">alignment</span></a></span></span><span> </span><span class="annot"><span class="annottext">ByteSlice
+</span><span id="line-63"></span><span>  </span><span id="local-6989586621679060450"><span class="annot"><span class="annottext">alignment :: ByteSlice -&gt; Int
+</span><a href="#local-6989586621679060450"><span class="hs-identifier hs-var hs-var hs-var hs-var">alignment</span></a></span></span><span> </span><span class="annot"><span class="annottext">ByteSlice
 </span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; a -&gt; Int
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">alignment</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. HasCallStack =&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">undefined</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">CSize</span></a></span><span class="hs-special">)</span><span>
-</span><span id="line-64"></span><span>  </span><span id="local-6989586621679060018"><span class="annot"><span class="annottext">peek :: Ptr ByteSlice -&gt; IO ByteSlice
-</span><a href="#local-6989586621679060018"><span class="hs-identifier hs-var hs-var hs-var hs-var">peek</span></a></span></span><span> </span><span id="local-6989586621679060017"><span class="annot"><span class="annottext">Ptr ByteSlice
-</span><a href="#local-6989586621679060017"><span class="hs-identifier hs-var">ptr</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
-</span><span id="line-65"></span><span>    </span><span id="local-6989586621679060016"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060016"><span class="hs-identifier hs-var">bsDataPtr</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; IO a
+</span><span id="line-64"></span><span>  </span><span id="local-6989586621679060444"><span class="annot"><span class="annottext">peek :: Ptr ByteSlice -&gt; IO ByteSlice
+</span><a href="#local-6989586621679060444"><span class="hs-identifier hs-var hs-var hs-var hs-var">peek</span></a></span></span><span> </span><span id="local-6989586621679060443"><span class="annot"><span class="annottext">Ptr ByteSlice
+</span><a href="#local-6989586621679060443"><span class="hs-identifier hs-var">ptr</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
+</span><span id="line-65"></span><span>    </span><span id="local-6989586621679060442"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060442"><span class="hs-identifier hs-var">bsDataPtr</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peekByteOff</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr ByteSlice
-</span><a href="#local-6989586621679060017"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679060015"><span class="hs-identifier hs-var">dataOffset</span></a></span><span>
-</span><span id="line-66"></span><span>    </span><span id="local-6989586621679060014"><span class="annot"><span class="annottext">CSize
-</span><a href="#local-6989586621679060014"><span class="hs-identifier hs-var">len</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; IO a
+</span><a href="#local-6989586621679060443"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060441"><span class="hs-identifier hs-var">dataOffset</span></a></span><span>
+</span><span id="line-66"></span><span>    </span><span id="local-6989586621679060440"><span class="annot"><span class="annottext">CSize
+</span><a href="#local-6989586621679060440"><span class="hs-identifier hs-var">len</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peekByteOff</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr ByteSlice
-</span><a href="#local-6989586621679060017"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679060013"><span class="hs-identifier hs-var">lenOffset</span></a></span><span>
+</span><a href="#local-6989586621679060443"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060439"><span class="hs-identifier hs-var">lenOffset</span></a></span><span>
 </span><span id="line-67"></span><span>    </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">CString -&gt; CSize -&gt; ByteSlice
 </span><a href="OpenDAL.FFI.html#ByteSlice"><span class="hs-identifier hs-var">ByteSlice</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060016"><span class="hs-identifier hs-var">bsDataPtr</span></a></span><span> </span><span class="annot"><span class="annottext">CSize
-</span><a href="#local-6989586621679060014"><span class="hs-identifier hs-var">len</span></a></span><span>
+</span><a href="#local-6989586621679060442"><span class="hs-identifier hs-var">bsDataPtr</span></a></span><span> </span><span class="annot"><span class="annottext">CSize
+</span><a href="#local-6989586621679060440"><span class="hs-identifier hs-var">len</span></a></span><span>
 </span><span id="line-68"></span><span>    </span><span class="hs-keyword">where</span><span>
-</span><span id="line-69"></span><span>      </span><span id="local-6989586621679060015"><span class="annot"><span class="annottext">dataOffset :: Int
-</span><a href="#local-6989586621679060015"><span class="hs-identifier hs-var hs-var">dataOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
+</span><span id="line-69"></span><span>      </span><span id="local-6989586621679060441"><span class="annot"><span class="annottext">dataOffset :: Int
+</span><a href="#local-6989586621679060441"><span class="hs-identifier hs-var hs-var">dataOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
 </span><span class="hs-number">0</span></span><span>
-</span><span id="line-70"></span><span>      </span><span id="local-6989586621679060013"><span class="annot"><span class="annottext">lenOffset :: Int
-</span><a href="#local-6989586621679060013"><span class="hs-identifier hs-var hs-var">lenOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; a -&gt; Int
+</span><span id="line-70"></span><span>      </span><span id="local-6989586621679060439"><span class="annot"><span class="annottext">lenOffset :: Int
+</span><a href="#local-6989586621679060439"><span class="hs-identifier hs-var hs-var">lenOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; a -&gt; Int
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">sizeOf</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. HasCallStack =&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">undefined</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">Ptr</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><spa [...]
-</span><span id="line-71"></span><span>  </span><span id="local-6989586621679060005"><span class="annot"><span class="annottext">poke :: Ptr ByteSlice -&gt; ByteSlice -&gt; IO ()
-</span><a href="#local-6989586621679060005"><span class="hs-identifier hs-var hs-var hs-var hs-var">poke</span></a></span></span><span> </span><span id="local-6989586621679060004"><span class="annot"><span class="annottext">Ptr ByteSlice
-</span><a href="#local-6989586621679060004"><span class="hs-identifier hs-var">ptr</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="OpenDAL.FFI.html#ByteSlice"><span class="hs-identifier hs-type">ByteSlice</span></a></span><span> </span><span id="local-6989586621679060003"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060003"><span class="hs-identifier hs-var">bsDataPtr</span></a></span></span><span> </span><span id="local-6989586621679060002"><span class="annot"><span class="annottext">CSize
-</span><a href="#local-6989586621679060002"><span class="hs-identifier hs-var">len</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
+</span><span id="line-71"></span><span>  </span><span id="local-6989586621679060431"><span class="annot"><span class="annottext">poke :: Ptr ByteSlice -&gt; ByteSlice -&gt; IO ()
+</span><a href="#local-6989586621679060431"><span class="hs-identifier hs-var hs-var hs-var hs-var">poke</span></a></span></span><span> </span><span id="local-6989586621679060430"><span class="annot"><span class="annottext">Ptr ByteSlice
+</span><a href="#local-6989586621679060430"><span class="hs-identifier hs-var">ptr</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="OpenDAL.FFI.html#ByteSlice"><span class="hs-identifier hs-type">ByteSlice</span></a></span><span> </span><span id="local-6989586621679060429"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060429"><span class="hs-identifier hs-var">bsDataPtr</span></a></span></span><span> </span><span id="local-6989586621679060428"><span class="annot"><span class="annottext">CSize
+</span><a href="#local-6989586621679060428"><span class="hs-identifier hs-var">len</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
 </span><span id="line-72"></span><span>    </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; a -&gt; IO ()
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">pokeByteOff</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr ByteSlice
-</span><a href="#local-6989586621679060004"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679060001"><span class="hs-identifier hs-var">dataOffset</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060003"><span class="hs-identifier hs-var">bsDataPtr</span></a></span><span>
+</span><a href="#local-6989586621679060430"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060427"><span class="hs-identifier hs-var">dataOffset</span></a></span><span> </span><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060429"><span class="hs-identifier hs-var">bsDataPtr</span></a></span><span>
 </span><span id="line-73"></span><span>    </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; a -&gt; IO ()
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">pokeByteOff</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr ByteSlice
-</span><a href="#local-6989586621679060004"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679060000"><span class="hs-identifier hs-var">lenOffset</span></a></span><span> </span><span class="annot"><span class="annottext">CSize
-</span><a href="#local-6989586621679060002"><span class="hs-identifier hs-var">len</span></a></span><span>
+</span><a href="#local-6989586621679060430"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060426"><span class="hs-identifier hs-var">lenOffset</span></a></span><span> </span><span class="annot"><span class="annottext">CSize
+</span><a href="#local-6989586621679060428"><span class="hs-identifier hs-var">len</span></a></span><span>
 </span><span id="line-74"></span><span>    </span><span class="hs-keyword">where</span><span>
-</span><span id="line-75"></span><span>      </span><span id="local-6989586621679060001"><span class="annot"><span class="annottext">dataOffset :: Int
-</span><a href="#local-6989586621679060001"><span class="hs-identifier hs-var hs-var">dataOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
+</span><span id="line-75"></span><span>      </span><span id="local-6989586621679060427"><span class="annot"><span class="annottext">dataOffset :: Int
+</span><a href="#local-6989586621679060427"><span class="hs-identifier hs-var hs-var">dataOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
 </span><span class="hs-number">0</span></span><span>
-</span><span id="line-76"></span><span>      </span><span id="local-6989586621679060000"><span class="annot"><span class="annottext">lenOffset :: Int
-</span><a href="#local-6989586621679060000"><span class="hs-identifier hs-var hs-var">lenOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; a -&gt; Int
+</span><span id="line-76"></span><span>      </span><span id="local-6989586621679060426"><span class="annot"><span class="annottext">lenOffset :: Int
+</span><a href="#local-6989586621679060426"><span class="hs-identifier hs-var hs-var">lenOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; a -&gt; Int
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">sizeOf</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. HasCallStack =&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">undefined</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">Ptr</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><spa [...]
 </span><span id="line-77"></span><span>
@@ -229,7 +229,7 @@ $cshowsPrec :: forall a. Int -&gt; FFIResult a -&gt; ShowS
 </span><span id="line-86"></span><span>    </span><span id="ffiLastModified"><span class="annot"><span class="annottext">FFIMetadata -&gt; CString
 </span><a href="OpenDAL.FFI.html#ffiLastModified"><span class="hs-identifier hs-var hs-var">ffiLastModified</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">CString</span></a></span><span>
 </span><span id="line-87"></span><span>  </span><span class="hs-special">}</span><span>
-</span><span id="line-88"></span><span>  </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span id="local-6989586621679059971"><span id="local-6989586621679059973"><span id="local-6989586621679059985"><span class="annot"><span class="annottext">Int -&gt; FFIMetadata -&gt; ShowS
+</span><span id="line-88"></span><span>  </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span id="local-6989586621679060397"><span id="local-6989586621679060399"><span id="local-6989586621679060411"><span class="annot"><span class="annottext">Int -&gt; FFIMetadata -&gt; ShowS
 [FFIMetadata] -&gt; ShowS
 FFIMetadata -&gt; String
 forall a.
@@ -242,9 +242,9 @@ showsPrec :: Int -&gt; FFIMetadata -&gt; ShowS
 $cshowsPrec :: Int -&gt; FFIMetadata -&gt; ShowS
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Show</span></a></span></span></span></span><span class="hs-special">)</span><span>
 </span><span id="line-89"></span><span>
-</span><span id="line-90"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679059961"><span id="local-6989586621679059963"><span id="local-6989586621679059965"><span id="local-6989586621679059967"><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">Storable</span></a></span><span> </span><span class="annot"><a href="OpenDAL.FFI.html#FFIMetadata">< [...]
-</span><span id="line-91"></span><span>  </span><span id="local-6989586621679059944"><span class="annot"><span class="annottext">sizeOf :: FFIMetadata -&gt; Int
-</span><a href="#local-6989586621679059944"><span class="hs-identifier hs-var hs-var hs-var hs-var">sizeOf</span></a></span></span><span> </span><span class="annot"><span class="annottext">FFIMetadata
+</span><span id="line-90"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679060387"><span id="local-6989586621679060389"><span id="local-6989586621679060391"><span id="local-6989586621679060393"><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">Storable</span></a></span><span> </span><span class="annot"><a href="OpenDAL.FFI.html#FFIMetadata">< [...]
+</span><span id="line-91"></span><span>  </span><span id="local-6989586621679060370"><span class="annot"><span class="annottext">sizeOf :: FFIMetadata -&gt; Int
+</span><a href="#local-6989586621679060370"><span class="hs-identifier hs-var hs-var hs-var hs-var">sizeOf</span></a></span></span><span> </span><span class="annot"><span class="annottext">FFIMetadata
 </span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; a -&gt; Int
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">sizeOf</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. HasCallStack =&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">undefined</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">CSize</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="an [...]
@@ -256,54 +256,54 @@ $cshowsPrec :: Int -&gt; FFIMetadata -&gt; ShowS
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; a -&gt; Int
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">sizeOf</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. HasCallStack =&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">undefined</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">CULong</span></a></span><span class="hs-special">)</span><span>
-</span><span id="line-92"></span><span>  </span><span id="local-6989586621679059939"><span class="annot"><span class="annottext">alignment :: FFIMetadata -&gt; Int
-</span><a href="#local-6989586621679059939"><span class="hs-identifier hs-var hs-var hs-var hs-var">alignment</span></a></span></span><span> </span><span class="annot"><span class="annottext">FFIMetadata
+</span><span id="line-92"></span><span>  </span><span id="local-6989586621679060365"><span class="annot"><span class="annottext">alignment :: FFIMetadata -&gt; Int
+</span><a href="#local-6989586621679060365"><span class="hs-identifier hs-var hs-var hs-var hs-var">alignment</span></a></span></span><span> </span><span class="annot"><span class="annottext">FFIMetadata
 </span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; a -&gt; Int
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">alignment</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. HasCallStack =&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">undefined</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">CSize</span></a></span><span class="hs-special">)</span><span>
-</span><span id="line-93"></span><span>  </span><span id="local-6989586621679059921"><span class="annot"><span class="annottext">peek :: Ptr FFIMetadata -&gt; IO FFIMetadata
-</span><a href="#local-6989586621679059921"><span class="hs-identifier hs-var hs-var hs-var hs-var">peek</span></a></span></span><span> </span><span id="local-6989586621679059920"><span class="annot"><span class="annottext">Ptr FFIMetadata
-</span><a href="#local-6989586621679059920"><span class="hs-identifier hs-var">ptr</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
-</span><span id="line-94"></span><span>    </span><span id="local-6989586621679059919"><span class="annot"><span class="annottext">CUInt
-</span><a href="#local-6989586621679059919"><span class="hs-identifier hs-var">mode</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; IO a
+</span><span id="line-93"></span><span>  </span><span id="local-6989586621679060347"><span class="annot"><span class="annottext">peek :: Ptr FFIMetadata -&gt; IO FFIMetadata
+</span><a href="#local-6989586621679060347"><span class="hs-identifier hs-var hs-var hs-var hs-var">peek</span></a></span></span><span> </span><span id="local-6989586621679060346"><span class="annot"><span class="annottext">Ptr FFIMetadata
+</span><a href="#local-6989586621679060346"><span class="hs-identifier hs-var">ptr</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
+</span><span id="line-94"></span><span>    </span><span id="local-6989586621679060345"><span class="annot"><span class="annottext">CUInt
+</span><a href="#local-6989586621679060345"><span class="hs-identifier hs-var">mode</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peekByteOff</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr FFIMetadata
-</span><a href="#local-6989586621679059920"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679059918"><span class="hs-identifier hs-var">modeOffset</span></a></span><span>
-</span><span id="line-95"></span><span>    </span><span id="local-6989586621679059917"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679059917"><span class="hs-identifier hs-var">cacheControl</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; IO a
+</span><a href="#local-6989586621679060346"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060344"><span class="hs-identifier hs-var">modeOffset</span></a></span><span>
+</span><span id="line-95"></span><span>    </span><span id="local-6989586621679060343"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060343"><span class="hs-identifier hs-var">cacheControl</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peekByteOff</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr FFIMetadata
-</span><a href="#local-6989586621679059920"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679059916"><span class="hs-identifier hs-var">cacheControlOffset</span></a></span><span>
-</span><span id="line-96"></span><span>    </span><span id="local-6989586621679059915"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679059915"><span class="hs-identifier hs-var">contentDisposition</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; IO a
+</span><a href="#local-6989586621679060346"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060342"><span class="hs-identifier hs-var">cacheControlOffset</span></a></span><span>
+</span><span id="line-96"></span><span>    </span><span id="local-6989586621679060341"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060341"><span class="hs-identifier hs-var">contentDisposition</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peekByteOff</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr FFIMetadata
-</span><a href="#local-6989586621679059920"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679059914"><span class="hs-identifier hs-var">contentDispositionOffset</span></a></span><span>
-</span><span id="line-97"></span><span>    </span><span id="local-6989586621679059913"><span class="annot"><span class="annottext">CULong
-</span><a href="#local-6989586621679059913"><span class="hs-identifier hs-var">contentLength</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; IO a
+</span><a href="#local-6989586621679060346"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060340"><span class="hs-identifier hs-var">contentDispositionOffset</span></a></span><span>
+</span><span id="line-97"></span><span>    </span><span id="local-6989586621679060339"><span class="annot"><span class="annottext">CULong
+</span><a href="#local-6989586621679060339"><span class="hs-identifier hs-var">contentLength</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peekByteOff</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr FFIMetadata
-</span><a href="#local-6989586621679059920"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679059912"><span class="hs-identifier hs-var">contentLengthOffset</span></a></span><span>
-</span><span id="line-98"></span><span>    </span><span id="local-6989586621679059911"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679059911"><span class="hs-identifier hs-var">contentMD5</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; IO a
+</span><a href="#local-6989586621679060346"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060338"><span class="hs-identifier hs-var">contentLengthOffset</span></a></span><span>
+</span><span id="line-98"></span><span>    </span><span id="local-6989586621679060337"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060337"><span class="hs-identifier hs-var">contentMD5</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peekByteOff</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr FFIMetadata
-</span><a href="#local-6989586621679059920"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679059910"><span class="hs-identifier hs-var">contentMD5Offset</span></a></span><span>
-</span><span id="line-99"></span><span>    </span><span id="local-6989586621679059909"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679059909"><span class="hs-identifier hs-var">contentType</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; IO a
+</span><a href="#local-6989586621679060346"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060336"><span class="hs-identifier hs-var">contentMD5Offset</span></a></span><span>
+</span><span id="line-99"></span><span>    </span><span id="local-6989586621679060335"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060335"><span class="hs-identifier hs-var">contentType</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peekByteOff</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr FFIMetadata
-</span><a href="#local-6989586621679059920"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679059908"><span class="hs-identifier hs-var">contentTypeOffset</span></a></span><span>
-</span><span id="line-100"></span><span>    </span><span id="local-6989586621679059907"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679059907"><span class="hs-identifier hs-var">eTag</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; IO a
+</span><a href="#local-6989586621679060346"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060334"><span class="hs-identifier hs-var">contentTypeOffset</span></a></span><span>
+</span><span id="line-100"></span><span>    </span><span id="local-6989586621679060333"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060333"><span class="hs-identifier hs-var">eTag</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peekByteOff</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr FFIMetadata
-</span><a href="#local-6989586621679059920"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679059906"><span class="hs-identifier hs-var">eTagOffset</span></a></span><span>
-</span><span id="line-101"></span><span>    </span><span id="local-6989586621679059905"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679059905"><span class="hs-identifier hs-var">lastModified</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; IO a
+</span><a href="#local-6989586621679060346"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060332"><span class="hs-identifier hs-var">eTagOffset</span></a></span><span>
+</span><span id="line-101"></span><span>    </span><span id="local-6989586621679060331"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060331"><span class="hs-identifier hs-var">lastModified</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peekByteOff</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr FFIMetadata
-</span><a href="#local-6989586621679059920"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679059904"><span class="hs-identifier hs-var">lastModifiedOffset</span></a></span><span>
+</span><a href="#local-6989586621679060346"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060330"><span class="hs-identifier hs-var">lastModifiedOffset</span></a></span><span>
 </span><span id="line-102"></span><span>    </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">CUInt
@@ -316,154 +316,154 @@ $cshowsPrec :: Int -&gt; FFIMetadata -&gt; ShowS
 -&gt; CString
 -&gt; FFIMetadata
 </span><a href="OpenDAL.FFI.html#FFIMetadata"><span class="hs-identifier hs-var">FFIMetadata</span></a></span><span> </span><span class="annot"><span class="annottext">CUInt
-</span><a href="#local-6989586621679059919"><span class="hs-identifier hs-var">mode</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679059917"><span class="hs-identifier hs-var">cacheControl</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679059915"><span class="hs-identifier hs-var">contentDisposition</span></a></span><span> </span><span class="annot"><span class="annottext">CULong
-</span><a href="#local-6989586621679059913"><span class="hs-identifier hs-var">contentLength</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679059911"><span class="hs-identifier hs-var">contentMD5</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679059909"><span class="hs-identifier hs-var">contentType</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679059907"><span class="hs-identifier hs-var">eTag</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679059905"><span class="hs-identifier hs-var">lastModified</span></a></span><span>
+</span><a href="#local-6989586621679060345"><span class="hs-identifier hs-var">mode</span></a></span><span> </span><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060343"><span class="hs-identifier hs-var">cacheControl</span></a></span><span> </span><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060341"><span class="hs-identifier hs-var">contentDisposition</span></a></span><span> </span><span class="annot"><span class="annottext">CULong
+</span><a href="#local-6989586621679060339"><span class="hs-identifier hs-var">contentLength</span></a></span><span> </span><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060337"><span class="hs-identifier hs-var">contentMD5</span></a></span><span> </span><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060335"><span class="hs-identifier hs-var">contentType</span></a></span><span> </span><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060333"><span class="hs-identifier hs-var">eTag</span></a></span><span> </span><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060331"><span class="hs-identifier hs-var">lastModified</span></a></span><span>
 </span><span id="line-103"></span><span>    </span><span class="hs-keyword">where</span><span>
-</span><span id="line-104"></span><span>      </span><span id="local-6989586621679059918"><span class="annot"><span class="annottext">modeOffset :: Int
-</span><a href="#local-6989586621679059918"><span class="hs-identifier hs-var hs-var">modeOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
+</span><span id="line-104"></span><span>      </span><span id="local-6989586621679060344"><span class="annot"><span class="annottext">modeOffset :: Int
+</span><a href="#local-6989586621679060344"><span class="hs-identifier hs-var hs-var">modeOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
 </span><span class="hs-number">0</span></span><span>
-</span><span id="line-105"></span><span>      </span><span id="local-6989586621679059916"><span class="annot"><span class="annottext">cacheControlOffset :: Int
-</span><a href="#local-6989586621679059916"><span class="hs-identifier hs-var hs-var">cacheControlOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679059918"><span class="hs-identifier hs-var">modeOffset</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Num a =&gt; a -&gt; a -&gt; a
+</span><span id="line-105"></span><span>      </span><span id="local-6989586621679060342"><span class="annot"><span class="annottext">cacheControlOffset :: Int
+</span><a href="#local-6989586621679060342"><span class="hs-identifier hs-var hs-var">cacheControlOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060344"><span class="hs-identifier hs-var">modeOffset</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Num a =&gt; a -&gt; a -&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; a -&gt; Int
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">sizeOf</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. HasCallStack =&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">undefined</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">CSize</span></a></span><span class="hs-special">)</span><span>
-</span><span id="line-106"></span><span>      </span><span id="local-6989586621679059914"><span class="annot"><span class="annottext">contentDispositionOffset :: Int
-</span><a href="#local-6989586621679059914"><span class="hs-identifier hs-var hs-var">contentDispositionOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679059916"><span class="hs-identifier hs-var">cacheControlOffset</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Num a =&gt; a -&gt; a -&gt; a
+</span><span id="line-106"></span><span>      </span><span id="local-6989586621679060340"><span class="annot"><span class="annottext">contentDispositionOffset :: Int
+</span><a href="#local-6989586621679060340"><span class="hs-identifier hs-var hs-var">contentDispositionOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060342"><span class="hs-identifier hs-var">cacheControlOffset</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Num a =&gt; a -&gt; a -&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; a -&gt; Int
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">sizeOf</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. HasCallStack =&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">undefined</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">CString</span></a></span><span class="hs-special">)</span><span>
-</span><span id="line-107"></span><span>      </span><span id="local-6989586621679059912"><span class="annot"><span class="annottext">contentLengthOffset :: Int
-</span><a href="#local-6989586621679059912"><span class="hs-identifier hs-var hs-var">contentLengthOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679059914"><span class="hs-identifier hs-var">contentDispositionOffset</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Num a =&gt; a -&gt; a -&gt; a
+</span><span id="line-107"></span><span>      </span><span id="local-6989586621679060338"><span class="annot"><span class="annottext">contentLengthOffset :: Int
+</span><a href="#local-6989586621679060338"><span class="hs-identifier hs-var hs-var">contentLengthOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060340"><span class="hs-identifier hs-var">contentDispositionOffset</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Num a =&gt; a -&gt; a -&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; a -&gt; Int
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">sizeOf</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. HasCallStack =&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">undefined</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">CString</span></a></span><span class="hs-special">)</span><span>
-</span><span id="line-108"></span><span>      </span><span id="local-6989586621679059910"><span class="annot"><span class="annottext">contentMD5Offset :: Int
-</span><a href="#local-6989586621679059910"><span class="hs-identifier hs-var hs-var">contentMD5Offset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679059912"><span class="hs-identifier hs-var">contentLengthOffset</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Num a =&gt; a -&gt; a -&gt; a
+</span><span id="line-108"></span><span>      </span><span id="local-6989586621679060336"><span class="annot"><span class="annottext">contentMD5Offset :: Int
+</span><a href="#local-6989586621679060336"><span class="hs-identifier hs-var hs-var">contentMD5Offset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060338"><span class="hs-identifier hs-var">contentLengthOffset</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Num a =&gt; a -&gt; a -&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; a -&gt; Int
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">sizeOf</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. HasCallStack =&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">undefined</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">CULong</span></a></span><span class="hs-special">)</span><span>
-</span><span id="line-109"></span><span>      </span><span id="local-6989586621679059908"><span class="annot"><span class="annottext">contentTypeOffset :: Int
-</span><a href="#local-6989586621679059908"><span class="hs-identifier hs-var hs-var">contentTypeOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679059910"><span class="hs-identifier hs-var">contentMD5Offset</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Num a =&gt; a -&gt; a -&gt; a
+</span><span id="line-109"></span><span>      </span><span id="local-6989586621679060334"><span class="annot"><span class="annottext">contentTypeOffset :: Int
+</span><a href="#local-6989586621679060334"><span class="hs-identifier hs-var hs-var">contentTypeOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060336"><span class="hs-identifier hs-var">contentMD5Offset</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Num a =&gt; a -&gt; a -&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; a -&gt; Int
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">sizeOf</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. HasCallStack =&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">undefined</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">CString</span></a></span><span class="hs-special">)</span><span>
-</span><span id="line-110"></span><span>      </span><span id="local-6989586621679059906"><span class="annot"><span class="annottext">eTagOffset :: Int
-</span><a href="#local-6989586621679059906"><span class="hs-identifier hs-var hs-var">eTagOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679059908"><span class="hs-identifier hs-var">contentTypeOffset</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Num a =&gt; a -&gt; a -&gt; a
+</span><span id="line-110"></span><span>      </span><span id="local-6989586621679060332"><span class="annot"><span class="annottext">eTagOffset :: Int
+</span><a href="#local-6989586621679060332"><span class="hs-identifier hs-var hs-var">eTagOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060334"><span class="hs-identifier hs-var">contentTypeOffset</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Num a =&gt; a -&gt; a -&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; a -&gt; Int
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">sizeOf</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. HasCallStack =&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">undefined</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">CString</span></a></span><span class="hs-special">)</span><span>
-</span><span id="line-111"></span><span>      </span><span id="local-6989586621679059904"><span class="annot"><span class="annottext">lastModifiedOffset :: Int
-</span><a href="#local-6989586621679059904"><span class="hs-identifier hs-var hs-var">lastModifiedOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679059906"><span class="hs-identifier hs-var">eTagOffset</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Num a =&gt; a -&gt; a -&gt; a
+</span><span id="line-111"></span><span>      </span><span id="local-6989586621679060330"><span class="annot"><span class="annottext">lastModifiedOffset :: Int
+</span><a href="#local-6989586621679060330"><span class="hs-identifier hs-var hs-var">lastModifiedOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060332"><span class="hs-identifier hs-var">eTagOffset</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Num a =&gt; a -&gt; a -&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; a -&gt; Int
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">sizeOf</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. HasCallStack =&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">undefined</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">CString</span></a></span><span class="hs-special">)</span><span>
-</span><span id="line-112"></span><span>  </span><span id="local-6989586621679059859"><span class="annot"><span class="annottext">poke :: Ptr FFIMetadata -&gt; FFIMetadata -&gt; IO ()
-</span><a href="#local-6989586621679059859"><span class="hs-identifier hs-var hs-var hs-var hs-var">poke</span></a></span></span><span> </span><span id="local-6989586621679059858"><span class="annot"><span class="annottext">Ptr FFIMetadata
-</span><a href="#local-6989586621679059858"><span class="hs-identifier hs-var">ptr</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="OpenDAL.FFI.html#FFIMetadata"><span class="hs-identifier hs-type">FFIMetadata</span></a></span><span> </span><span id="local-6989586621679059857"><span class="annot"><span class="annottext">CUInt
-</span><a href="#local-6989586621679059857"><span class="hs-identifier hs-var">mode</span></a></span></span><span> </span><span id="local-6989586621679059856"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679059856"><span class="hs-identifier hs-var">cacheControl</span></a></span></span><span> </span><span id="local-6989586621679059855"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679059855"><span class="hs-identifier hs-var">contentDisposition</span></a></span></span><span> </span><span id="local-6989586621679059854"><span class="annot"><span class="annottext">CULong
-</span><a href="#local-6989586621679059854"><span class="hs-identifier hs-var">contentLength</span></a></span></span><span> </span><span id="local-6989586621679059853"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679059853"><span class="hs-identifier hs-var">contentMD5</span></a></span></span><span> </span><span id="local-6989586621679059852"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679059852"><span class="hs-identifier hs-var">contentType</span></a></span></span><span> </span><span id="local-6989586621679059851"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679059851"><span class="hs-identifier hs-var">eTag</span></a></span></span><span> </span><span id="local-6989586621679059850"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679059850"><span class="hs-identifier hs-var">lastModified</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
+</span><span id="line-112"></span><span>  </span><span id="local-6989586621679060285"><span class="annot"><span class="annottext">poke :: Ptr FFIMetadata -&gt; FFIMetadata -&gt; IO ()
+</span><a href="#local-6989586621679060285"><span class="hs-identifier hs-var hs-var hs-var hs-var">poke</span></a></span></span><span> </span><span id="local-6989586621679060284"><span class="annot"><span class="annottext">Ptr FFIMetadata
+</span><a href="#local-6989586621679060284"><span class="hs-identifier hs-var">ptr</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="OpenDAL.FFI.html#FFIMetadata"><span class="hs-identifier hs-type">FFIMetadata</span></a></span><span> </span><span id="local-6989586621679060283"><span class="annot"><span class="annottext">CUInt
+</span><a href="#local-6989586621679060283"><span class="hs-identifier hs-var">mode</span></a></span></span><span> </span><span id="local-6989586621679060282"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060282"><span class="hs-identifier hs-var">cacheControl</span></a></span></span><span> </span><span id="local-6989586621679060281"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060281"><span class="hs-identifier hs-var">contentDisposition</span></a></span></span><span> </span><span id="local-6989586621679060280"><span class="annot"><span class="annottext">CULong
+</span><a href="#local-6989586621679060280"><span class="hs-identifier hs-var">contentLength</span></a></span></span><span> </span><span id="local-6989586621679060279"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060279"><span class="hs-identifier hs-var">contentMD5</span></a></span></span><span> </span><span id="local-6989586621679060278"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060278"><span class="hs-identifier hs-var">contentType</span></a></span></span><span> </span><span id="local-6989586621679060277"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060277"><span class="hs-identifier hs-var">eTag</span></a></span></span><span> </span><span id="local-6989586621679060276"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060276"><span class="hs-identifier hs-var">lastModified</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
 </span><span id="line-113"></span><span>    </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; a -&gt; IO ()
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">pokeByteOff</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr FFIMetadata
-</span><a href="#local-6989586621679059858"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679059849"><span class="hs-identifier hs-var">modeOffset</span></a></span><span> </span><span class="annot"><span class="annottext">CUInt
-</span><a href="#local-6989586621679059857"><span class="hs-identifier hs-var">mode</span></a></span><span>
+</span><a href="#local-6989586621679060284"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060275"><span class="hs-identifier hs-var">modeOffset</span></a></span><span> </span><span class="annot"><span class="annottext">CUInt
+</span><a href="#local-6989586621679060283"><span class="hs-identifier hs-var">mode</span></a></span><span>
 </span><span id="line-114"></span><span>    </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; a -&gt; IO ()
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">pokeByteOff</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr FFIMetadata
-</span><a href="#local-6989586621679059858"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679059848"><span class="hs-identifier hs-var">cacheControlOffset</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679059856"><span class="hs-identifier hs-var">cacheControl</span></a></span><span>
+</span><a href="#local-6989586621679060284"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060274"><span class="hs-identifier hs-var">cacheControlOffset</span></a></span><span> </span><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060282"><span class="hs-identifier hs-var">cacheControl</span></a></span><span>
 </span><span id="line-115"></span><span>    </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; a -&gt; IO ()
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">pokeByteOff</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr FFIMetadata
-</span><a href="#local-6989586621679059858"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679059847"><span class="hs-identifier hs-var">contentDispositionOffset</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679059855"><span class="hs-identifier hs-var">contentDisposition</span></a></span><span>
+</span><a href="#local-6989586621679060284"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060273"><span class="hs-identifier hs-var">contentDispositionOffset</span></a></span><span> </span><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060281"><span class="hs-identifier hs-var">contentDisposition</span></a></span><span>
 </span><span id="line-116"></span><span>    </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; a -&gt; IO ()
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">pokeByteOff</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr FFIMetadata
-</span><a href="#local-6989586621679059858"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679059846"><span class="hs-identifier hs-var">contentLengthOffset</span></a></span><span> </span><span class="annot"><span class="annottext">CULong
-</span><a href="#local-6989586621679059854"><span class="hs-identifier hs-var">contentLength</span></a></span><span>
+</span><a href="#local-6989586621679060284"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060272"><span class="hs-identifier hs-var">contentLengthOffset</span></a></span><span> </span><span class="annot"><span class="annottext">CULong
+</span><a href="#local-6989586621679060280"><span class="hs-identifier hs-var">contentLength</span></a></span><span>
 </span><span id="line-117"></span><span>    </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; a -&gt; IO ()
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">pokeByteOff</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr FFIMetadata
-</span><a href="#local-6989586621679059858"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679059845"><span class="hs-identifier hs-var">contentMD5Offset</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679059853"><span class="hs-identifier hs-var">contentMD5</span></a></span><span>
+</span><a href="#local-6989586621679060284"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060271"><span class="hs-identifier hs-var">contentMD5Offset</span></a></span><span> </span><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060279"><span class="hs-identifier hs-var">contentMD5</span></a></span><span>
 </span><span id="line-118"></span><span>    </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; a -&gt; IO ()
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">pokeByteOff</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr FFIMetadata
-</span><a href="#local-6989586621679059858"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679059844"><span class="hs-identifier hs-var">contentTypeOffset</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679059852"><span class="hs-identifier hs-var">contentType</span></a></span><span>
+</span><a href="#local-6989586621679060284"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060270"><span class="hs-identifier hs-var">contentTypeOffset</span></a></span><span> </span><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060278"><span class="hs-identifier hs-var">contentType</span></a></span><span>
 </span><span id="line-119"></span><span>    </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; a -&gt; IO ()
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">pokeByteOff</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr FFIMetadata
-</span><a href="#local-6989586621679059858"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679059843"><span class="hs-identifier hs-var">eTagOffset</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679059851"><span class="hs-identifier hs-var">eTag</span></a></span><span>
+</span><a href="#local-6989586621679060284"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060269"><span class="hs-identifier hs-var">eTagOffset</span></a></span><span> </span><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060277"><span class="hs-identifier hs-var">eTag</span></a></span><span>
 </span><span id="line-120"></span><span>    </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; a -&gt; IO ()
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">pokeByteOff</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr FFIMetadata
-</span><a href="#local-6989586621679059858"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679059842"><span class="hs-identifier hs-var">lastModifiedOffset</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679059850"><span class="hs-identifier hs-var">lastModified</span></a></span><span>
+</span><a href="#local-6989586621679060284"><span class="hs-identifier hs-var">ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060268"><span class="hs-identifier hs-var">lastModifiedOffset</span></a></span><span> </span><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060276"><span class="hs-identifier hs-var">lastModified</span></a></span><span>
 </span><span id="line-121"></span><span>    </span><span class="hs-keyword">where</span><span>
-</span><span id="line-122"></span><span>      </span><span id="local-6989586621679059849"><span class="annot"><span class="annottext">modeOffset :: Int
-</span><a href="#local-6989586621679059849"><span class="hs-identifier hs-var hs-var">modeOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
+</span><span id="line-122"></span><span>      </span><span id="local-6989586621679060275"><span class="annot"><span class="annottext">modeOffset :: Int
+</span><a href="#local-6989586621679060275"><span class="hs-identifier hs-var hs-var">modeOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
 </span><span class="hs-number">0</span></span><span>
-</span><span id="line-123"></span><span>      </span><span id="local-6989586621679059848"><span class="annot"><span class="annottext">cacheControlOffset :: Int
-</span><a href="#local-6989586621679059848"><span class="hs-identifier hs-var hs-var">cacheControlOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679059849"><span class="hs-identifier hs-var">modeOffset</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Num a =&gt; a -&gt; a -&gt; a
+</span><span id="line-123"></span><span>      </span><span id="local-6989586621679060274"><span class="annot"><span class="annottext">cacheControlOffset :: Int
+</span><a href="#local-6989586621679060274"><span class="hs-identifier hs-var hs-var">cacheControlOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060275"><span class="hs-identifier hs-var">modeOffset</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Num a =&gt; a -&gt; a -&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; a -&gt; Int
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">sizeOf</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. HasCallStack =&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">undefined</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">CSize</span></a></span><span class="hs-special">)</span><span>
-</span><span id="line-124"></span><span>      </span><span id="local-6989586621679059847"><span class="annot"><span class="annottext">contentDispositionOffset :: Int
-</span><a href="#local-6989586621679059847"><span class="hs-identifier hs-var hs-var">contentDispositionOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679059848"><span class="hs-identifier hs-var">cacheControlOffset</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Num a =&gt; a -&gt; a -&gt; a
+</span><span id="line-124"></span><span>      </span><span id="local-6989586621679060273"><span class="annot"><span class="annottext">contentDispositionOffset :: Int
+</span><a href="#local-6989586621679060273"><span class="hs-identifier hs-var hs-var">contentDispositionOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060274"><span class="hs-identifier hs-var">cacheControlOffset</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Num a =&gt; a -&gt; a -&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; a -&gt; Int
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">sizeOf</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. HasCallStack =&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">undefined</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">CString</span></a></span><span class="hs-special">)</span><span>
-</span><span id="line-125"></span><span>      </span><span id="local-6989586621679059846"><span class="annot"><span class="annottext">contentLengthOffset :: Int
-</span><a href="#local-6989586621679059846"><span class="hs-identifier hs-var hs-var">contentLengthOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679059847"><span class="hs-identifier hs-var">contentDispositionOffset</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Num a =&gt; a -&gt; a -&gt; a
+</span><span id="line-125"></span><span>      </span><span id="local-6989586621679060272"><span class="annot"><span class="annottext">contentLengthOffset :: Int
+</span><a href="#local-6989586621679060272"><span class="hs-identifier hs-var hs-var">contentLengthOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060273"><span class="hs-identifier hs-var">contentDispositionOffset</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Num a =&gt; a -&gt; a -&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; a -&gt; Int
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">sizeOf</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. HasCallStack =&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">undefined</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">CString</span></a></span><span class="hs-special">)</span><span>
-</span><span id="line-126"></span><span>      </span><span id="local-6989586621679059845"><span class="annot"><span class="annottext">contentMD5Offset :: Int
-</span><a href="#local-6989586621679059845"><span class="hs-identifier hs-var hs-var">contentMD5Offset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679059846"><span class="hs-identifier hs-var">contentLengthOffset</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Num a =&gt; a -&gt; a -&gt; a
+</span><span id="line-126"></span><span>      </span><span id="local-6989586621679060271"><span class="annot"><span class="annottext">contentMD5Offset :: Int
+</span><a href="#local-6989586621679060271"><span class="hs-identifier hs-var hs-var">contentMD5Offset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060272"><span class="hs-identifier hs-var">contentLengthOffset</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Num a =&gt; a -&gt; a -&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; a -&gt; Int
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">sizeOf</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. HasCallStack =&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">undefined</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">CULong</span></a></span><span class="hs-special">)</span><span>
-</span><span id="line-127"></span><span>      </span><span id="local-6989586621679059844"><span class="annot"><span class="annottext">contentTypeOffset :: Int
-</span><a href="#local-6989586621679059844"><span class="hs-identifier hs-var hs-var">contentTypeOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679059845"><span class="hs-identifier hs-var">contentMD5Offset</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Num a =&gt; a -&gt; a -&gt; a
+</span><span id="line-127"></span><span>      </span><span id="local-6989586621679060270"><span class="annot"><span class="annottext">contentTypeOffset :: Int
+</span><a href="#local-6989586621679060270"><span class="hs-identifier hs-var hs-var">contentTypeOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060271"><span class="hs-identifier hs-var">contentMD5Offset</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Num a =&gt; a -&gt; a -&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; a -&gt; Int
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">sizeOf</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. HasCallStack =&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">undefined</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">CString</span></a></span><span class="hs-special">)</span><span>
-</span><span id="line-128"></span><span>      </span><span id="local-6989586621679059843"><span class="annot"><span class="annottext">eTagOffset :: Int
-</span><a href="#local-6989586621679059843"><span class="hs-identifier hs-var hs-var">eTagOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679059844"><span class="hs-identifier hs-var">contentTypeOffset</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Num a =&gt; a -&gt; a -&gt; a
+</span><span id="line-128"></span><span>      </span><span id="local-6989586621679060269"><span class="annot"><span class="annottext">eTagOffset :: Int
+</span><a href="#local-6989586621679060269"><span class="hs-identifier hs-var hs-var">eTagOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060270"><span class="hs-identifier hs-var">contentTypeOffset</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Num a =&gt; a -&gt; a -&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; a -&gt; Int
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">sizeOf</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. HasCallStack =&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">undefined</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">CString</span></a></span><span class="hs-special">)</span><span>
-</span><span id="line-129"></span><span>      </span><span id="local-6989586621679059842"><span class="annot"><span class="annottext">lastModifiedOffset :: Int
-</span><a href="#local-6989586621679059842"><span class="hs-identifier hs-var hs-var">lastModifiedOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679059843"><span class="hs-identifier hs-var">eTagOffset</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Num a =&gt; a -&gt; a -&gt; a
+</span><span id="line-129"></span><span>      </span><span id="local-6989586621679060268"><span class="annot"><span class="annottext">lastModifiedOffset :: Int
+</span><a href="#local-6989586621679060268"><span class="hs-identifier hs-var hs-var">lastModifiedOffset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060269"><span class="hs-identifier hs-var">eTagOffset</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Num a =&gt; a -&gt; a -&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; a -&gt; Int
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">sizeOf</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. HasCallStack =&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">undefined</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">CString</span></a></span><span class="hs-special">)</span><span>
diff --git a/docs/haskell/src/OpenDAL.html b/docs/haskell/src/OpenDAL.html
index 46065a32e..12a0d7b5b 100644
--- a/docs/haskell/src/OpenDAL.html
+++ b/docs/haskell/src/OpenDAL.html
@@ -113,14 +113,14 @@
 </span><span id="line-110"></span><span>  </span><span class="hs-special">}</span><span>
 </span><span id="line-111"></span><span>
 </span><span id="line-112"></span><span class="hs-keyword">instance</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">IsString</span></a></span><span> </span><span class="annot"><a href="OpenDAL.html#OperatorConfig"><span class="hs-identifier hs-type">OperatorConfig</span></a></span><span> </span><span class="hs-keyword">where</span><span>
-</span><span id="line-113"></span><span>  </span><span id="local-6989586621679060828"><span class="annot"><span class="annottext">fromString :: String -&gt; OperatorConfig
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var hs-var hs-var hs-var">fromString</span></a></span></span><span> </span><span id="local-6989586621679060827"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060827"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
+</span><span id="line-113"></span><span>  </span><span id="local-6989586621679061254"><span class="annot"><span class="annottext">fromString :: String -&gt; OperatorConfig
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var hs-var hs-var hs-var">fromString</span></a></span></span><span> </span><span id="local-6989586621679061253"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679061253"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
 -&gt; HashMap String String
 -&gt; Maybe (LogAction IO Message)
 -&gt; OperatorConfig
 </span><a href="OpenDAL.html#OperatorConfig"><span class="hs-identifier hs-var">OperatorConfig</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060827"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="annot"><span class="annottext">forall k v. HashMap k v
+</span><a href="#local-6989586621679061253"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="annot"><span class="annottext">forall k v. HashMap k v
 </span><span class="hs-identifier hs-var">HashMap.empty</span></span><span> </span><span class="annot"><span class="annottext">forall a. Maybe a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">Nothing</span></a></span><span>
 </span><span id="line-114"></span><span>
@@ -156,13 +156,13 @@
 </span><span id="line-144"></span><span>    </span><span id="RateLimited"><span class="annot"><a href="OpenDAL.html#RateLimited"><span class="hs-identifier hs-var">RateLimited</span></a></span></span><span>
 </span><span id="line-145"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="hs-comment">-- | The given file paths are same.</span><span>
 </span><span id="line-146"></span><span>    </span><span id="IsSameFile"><span class="annot"><a href="OpenDAL.html#IsSameFile"><span class="hs-identifier hs-var">IsSameFile</span></a></span></span><span>
-</span><span id="line-147"></span><span>  </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span id="local-6989586621679060809"><span id="local-6989586621679060811"><span class="annot"><span class="annottext">ErrorCode -&gt; ErrorCode -&gt; Bool
+</span><span id="line-147"></span><span>  </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span id="local-6989586621679061235"><span id="local-6989586621679061237"><span class="annot"><span class="annottext">ErrorCode -&gt; ErrorCode -&gt; Bool
 forall a. (a -&gt; a -&gt; Bool) -&gt; (a -&gt; a -&gt; Bool) -&gt; Eq a
 /= :: ErrorCode -&gt; ErrorCode -&gt; Bool
 $c/= :: ErrorCode -&gt; ErrorCode -&gt; Bool
 == :: ErrorCode -&gt; ErrorCode -&gt; Bool
 $c== :: ErrorCode -&gt; ErrorCode -&gt; Bool
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/ghc-prim-0.8.0/src"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Eq</span></a></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679060802"><span id="local-6989586621679060804"><span id="local-6989586621679060806"><span class="annot"><span class="annottext">Int -&gt; ErrorCode -&gt; ShowS
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/ghc-prim-0.8.0/src"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Eq</span></a></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679061228"><span id="local-6989586621679061230"><span id="local-6989586621679061232"><span class="annot"><span class="annottext">Int -&gt; ErrorCode -&gt; ShowS
 [ErrorCode] -&gt; ShowS
 ErrorCode -&gt; String
 forall a.
@@ -184,13 +184,13 @@ $cshowsPrec :: Int -&gt; ErrorCode -&gt; ShowS
 </span><span id="line-154"></span><span>    </span><span id="message"><span class="annot"><span class="annottext">OpenDALError -&gt; String
 </span><a href="OpenDAL.html#message"><span class="hs-identifier hs-var hs-var">message</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">String</span></a></span><span>
 </span><span id="line-155"></span><span>  </span><span class="hs-special">}</span><span>
-</span><span id="line-156"></span><span>  </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span id="local-6989586621679060790"><span id="local-6989586621679060796"><span class="annot"><span class="annottext">OpenDALError -&gt; OpenDALError -&gt; Bool
+</span><span id="line-156"></span><span>  </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span id="local-6989586621679061216"><span id="local-6989586621679061222"><span class="annot"><span class="annottext">OpenDALError -&gt; OpenDALError -&gt; Bool
 forall a. (a -&gt; a -&gt; Bool) -&gt; (a -&gt; a -&gt; Bool) -&gt; Eq a
 /= :: OpenDALError -&gt; OpenDALError -&gt; Bool
 $c/= :: OpenDALError -&gt; OpenDALError -&gt; Bool
 == :: OpenDALError -&gt; OpenDALError -&gt; Bool
 $c== :: OpenDALError -&gt; OpenDALError -&gt; Bool
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/ghc-prim-0.8.0/src"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Eq</span></a></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679060777"><span id="local-6989586621679060779"><span id="local-6989586621679060787"><span class="annot"><span class="annottext">Int -&gt; OpenDALError -&gt; ShowS
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/ghc-prim-0.8.0/src"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Eq</span></a></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679061203"><span id="local-6989586621679061205"><span id="local-6989586621679061213"><span class="annot"><span class="annottext">Int -&gt; OpenDALError -&gt; ShowS
 [OpenDALError] -&gt; ShowS
 OpenDALError -&gt; String
 forall a.
@@ -204,13 +204,13 @@ $cshowsPrec :: Int -&gt; OpenDALError -&gt; ShowS
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Show</span></a></span></span></span></span><span class="hs-special">)</span><span>
 </span><span id="line-157"></span><span>
 </span><span id="line-158"></span><span class="hs-comment">-- | Represents the mode of an entry in a storage system (e.g., file or directory).</span><span>
-</span><span id="line-159"></span><span class="hs-keyword">data</span><span> </span><span id="EntryMode"><span class="annot"><a href="OpenDAL.html#EntryMode"><span class="hs-identifier hs-var">EntryMode</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="File"><span class="annot"><a href="OpenDAL.html#File"><span class="hs-identifier hs-var">File</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span id="Dir"><spa [...]
+</span><span id="line-159"></span><span class="hs-keyword">data</span><span> </span><span id="EntryMode"><span class="annot"><a href="OpenDAL.html#EntryMode"><span class="hs-identifier hs-var">EntryMode</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="File"><span class="annot"><a href="OpenDAL.html#File"><span class="hs-identifier hs-var">File</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span id="Dir"><spa [...]
 forall a. (a -&gt; a -&gt; Bool) -&gt; (a -&gt; a -&gt; Bool) -&gt; Eq a
 /= :: EntryMode -&gt; EntryMode -&gt; Bool
 $c/= :: EntryMode -&gt; EntryMode -&gt; Bool
 == :: EntryMode -&gt; EntryMode -&gt; Bool
 $c== :: EntryMode -&gt; EntryMode -&gt; Bool
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/ghc-prim-0.8.0/src"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Eq</span></a></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679060763"><span id="local-6989586621679060765"><span id="local-6989586621679060767"><span class="annot"><span class="annottext">Int -&gt; EntryMode -&gt; ShowS
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/ghc-prim-0.8.0/src"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Eq</span></a></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679061189"><span id="local-6989586621679061191"><span id="local-6989586621679061193"><span class="annot"><span class="annottext">Int -&gt; EntryMode -&gt; ShowS
 [EntryMode] -&gt; ShowS
 EntryMode -&gt; String
 forall a.
@@ -250,13 +250,13 @@ $cshowsPrec :: Int -&gt; EntryMode -&gt; ShowS
 </span><span id="line-178"></span><span>    </span><span id="mLastModified"><span class="annot"><span class="annottext">Metadata -&gt; Maybe UTCTime
 </span><a href="OpenDAL.html#mLastModified"><span class="hs-identifier hs-var hs-var">mLastModified</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/time-1.11.1. [...]
 </span><span id="line-179"></span><span>  </span><span class="hs-special">}</span><span>
-</span><span id="line-180"></span><span>  </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span id="local-6989586621679060738"><span id="local-6989586621679060752"><span class="annot"><span class="annottext">Metadata -&gt; Metadata -&gt; Bool
+</span><span id="line-180"></span><span>  </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span id="local-6989586621679061164"><span id="local-6989586621679061178"><span class="annot"><span class="annottext">Metadata -&gt; Metadata -&gt; Bool
 forall a. (a -&gt; a -&gt; Bool) -&gt; (a -&gt; a -&gt; Bool) -&gt; Eq a
 /= :: Metadata -&gt; Metadata -&gt; Bool
 $c/= :: Metadata -&gt; Metadata -&gt; Bool
 == :: Metadata -&gt; Metadata -&gt; Bool
 $c== :: Metadata -&gt; Metadata -&gt; Bool
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/ghc-prim-0.8.0/src"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Eq</span></a></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679060717"><span id="local-6989586621679060719"><span id="local-6989586621679060734"><span class="annot"><span class="annottext">Int -&gt; Metadata -&gt; ShowS
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/ghc-prim-0.8.0/src"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Eq</span></a></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679061143"><span id="local-6989586621679061145"><span id="local-6989586621679061160"><span class="annot"><span class="annottext">Int -&gt; Metadata -&gt; ShowS
 [Metadata] -&gt; ShowS
 Metadata -&gt; String
 forall a.
@@ -270,11 +270,11 @@ $cshowsPrec :: Int -&gt; Metadata -&gt; ShowS
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Show</span></a></span></span></span></span><span class="hs-special">)</span><span>
 </span><span id="line-181"></span><span>
 </span><span id="line-182"></span><span class="hs-comment">-- | @newtype@ wrapper 'ReaderT' that keeps 'Operator' in its context.</span><span>
-</span><span id="line-183"></span><span class="hs-keyword">newtype</span><span> </span><span id="OperatorT"><span class="annot"><a href="OpenDAL.html#OperatorT"><span class="hs-identifier hs-var">OperatorT</span></a></span></span><span> </span><span id="local-6989586621679061276"><span class="annot"><a href="#local-6989586621679061276"><span class="hs-identifier hs-type">m</span></a></span></span><span> </span><span id="local-6989586621679061275"><span class="annot"><a href="#local-69895 [...]
+</span><span id="line-183"></span><span class="hs-keyword">newtype</span><span> </span><span id="OperatorT"><span class="annot"><a href="OpenDAL.html#OperatorT"><span class="hs-identifier hs-var">OperatorT</span></a></span></span><span> </span><span id="local-6989586621679061702"><span class="annot"><a href="#local-6989586621679061702"><span class="hs-identifier hs-type">m</span></a></span></span><span> </span><span id="local-6989586621679061701"><span class="annot"><a href="#local-69895 [...]
 </span><span id="line-184"></span><span>  </span><span class="hs-special">{</span><span id="runOperatorT"><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a.
 OperatorT m a -&gt; ReaderT Operator (ExceptT OpenDALError m) a
-</span><a href="OpenDAL.html#runOperatorT"><span class="hs-identifier hs-var hs-var">runOperatorT</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/transformers-0.5.6.2/src"><span class="hs-identifier hs-type">ReaderT</span></a></span><span> </span><span class="annot"><a href="OpenDAL.html#Operator"><span class="hs-identifier hs-type">Operator</span></a> [...]
-</span><span id="line-185"></span><span>  </span><span class="hs-keyword">deriving</span><span> </span><span class="annot"><span class="hs-keyword">newtype</span></span><span> </span><span class="hs-special">(</span><span id="local-6989586621679060704"><span id="local-6989586621679060710"><span class="annot"><span class="annottext">forall a b. a -&gt; OperatorT m b -&gt; OperatorT m a
+</span><a href="OpenDAL.html#runOperatorT"><span class="hs-identifier hs-var hs-var">runOperatorT</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/transformers-0.5.6.2/src"><span class="hs-identifier hs-type">ReaderT</span></a></span><span> </span><span class="annot"><a href="OpenDAL.html#Operator"><span class="hs-identifier hs-type">Operator</span></a> [...]
+</span><span id="line-185"></span><span>  </span><span class="hs-keyword">deriving</span><span> </span><span class="annot"><span class="hs-keyword">newtype</span></span><span> </span><span class="hs-special">(</span><span id="local-6989586621679061130"><span id="local-6989586621679061136"><span class="annot"><span class="annottext">forall a b. a -&gt; OperatorT m b -&gt; OperatorT m a
 forall a b. (a -&gt; b) -&gt; OperatorT m a -&gt; OperatorT m b
 forall (m :: * -&gt; *) a b.
 Functor m =&gt;
@@ -293,7 +293,7 @@ fmap :: forall a b. (a -&gt; b) -&gt; OperatorT m a -&gt; OperatorT m b
 $cfmap :: forall (m :: * -&gt; *) a b.
 Functor m =&gt;
 (a -&gt; b) -&gt; OperatorT m a -&gt; OperatorT m b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Functor</span></a></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679060671"><span id="local-6989586621679060676"><span id="local-6989586621679060681"><span id="local-6989586621679060686"><span id="local-6989586621679060692"><span class="annot"><span class="annottext" [...]
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Functor</span></a></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679061097"><span id="local-6989586621679061102"><span id="local-6989586621679061107"><span id="local-6989586621679061112"><span id="local-6989586621679061118"><span class="annot"><span class="annottext" [...]
 forall a b. OperatorT m a -&gt; OperatorT m b -&gt; OperatorT m a
 forall a b. OperatorT m a -&gt; OperatorT m b -&gt; OperatorT m b
 forall a b. OperatorT m (a -&gt; b) -&gt; OperatorT m a -&gt; OperatorT m b
@@ -340,7 +340,7 @@ Monad m =&gt;
 OperatorT m (a -&gt; b) -&gt; OperatorT m a -&gt; OperatorT m b
 pure :: forall a. a -&gt; OperatorT m a
 $cpure :: forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; OperatorT m a
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Applicative</span></a></span></span></span></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679060646"><span id="local-6989586621679060651"><span id="local-6989586621679060657"><span class="annot"><span class="annottext" [...]
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Applicative</span></a></span></span></span></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679061072"><span id="local-6989586621679061077"><span id="local-6989586621679061083"><span class="annot"><span class="annottext" [...]
 forall a b. OperatorT m a -&gt; OperatorT m b -&gt; OperatorT m b
 forall a b. OperatorT m a -&gt; (a -&gt; OperatorT m b) -&gt; OperatorT m b
 forall (m :: * -&gt; *). Monad m =&gt; Applicative (OperatorT m)
@@ -367,18 +367,18 @@ OperatorT m a -&gt; OperatorT m b -&gt; OperatorT m b
 $c&gt;&gt;= :: forall (m :: * -&gt; *) a b.
 Monad m =&gt;
 OperatorT m a -&gt; (a -&gt; OperatorT m b) -&gt; OperatorT m b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Monad</span></a></span></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679060634"><span class="annot"><span class="annottext">forall a. IO a -&gt; OperatorT m a
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Monad</span></a></span></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679061060"><span class="annot"><span class="annottext">forall a. IO a -&gt; OperatorT m a
 forall (m :: * -&gt; *).
 Monad m -&gt; (forall a. IO a -&gt; m a) -&gt; MonadIO m
 forall {m :: * -&gt; *}. MonadIO m =&gt; Monad (OperatorT m)
 forall (m :: * -&gt; *) a. MonadIO m =&gt; IO a -&gt; OperatorT m a
 liftIO :: forall a. IO a -&gt; OperatorT m a
 $cliftIO :: forall (m :: * -&gt; *) a. MonadIO m =&gt; IO a -&gt; OperatorT m a
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var">MonadIO</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679060610"><span id="local-6989586621679060615"><span id="local-6989586621679060621"><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/mtl-2.2.2/src"><span class="h [...]
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var">MonadIO</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679061036"><span id="local-6989586621679061041"><span id="local-6989586621679061047"><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/mtl-2.2.2/src"><span class="h [...]
 </span><span id="line-186"></span><span>
 </span><span id="line-187"></span><span class="hs-keyword">instance</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/transformers-0.5.6.2/src"><span class="hs-identifier hs-type">MonadTrans</span></a></span><span> </span><span class="annot"><a href="OpenDAL.html#OperatorT"><span class="hs-identifier hs-type">OperatorT</span></a></span><span> </span><span class="hs-keyword">where</span><span>
-</span><span id="line-188"></span><span>  </span><span id="local-6989586621679060577"><span class="annot"><span class="annottext">lift :: forall (m :: * -&gt; *) a. Monad m =&gt; m a -&gt; OperatorT m a
-</span><a href="#local-6989586621679060577"><span class="hs-identifier hs-var hs-var hs-var hs-var">lift</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a.
+</span><span id="line-188"></span><span>  </span><span id="local-6989586621679061003"><span class="annot"><span class="annottext">lift :: forall (m :: * -&gt; *) a. Monad m =&gt; m a -&gt; OperatorT m a
+</span><a href="#local-6989586621679061003"><span class="hs-identifier hs-var hs-var hs-var hs-var">lift</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a.
 ReaderT Operator (ExceptT OpenDALError m) a -&gt; OperatorT m a
 </span><a href="OpenDAL.html#OperatorT"><span class="hs-identifier hs-var">OperatorT</span></a></span><span> </span><span class="annot"><span class="annottext">forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">forall (t :: (* -&gt; *) -&gt; * -&gt; *) (m :: * -&gt; *) a.
@@ -391,240 +391,240 @@ m a -&gt; t m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/transformers-0.5.6.2/src"><span class="hs-identifier hs-var">lift</span></a></span><span>
 </span><span id="line-189"></span><span>
 </span><span id="line-190"></span><span class="hs-comment">-- | A type class for monads that can perform OpenDAL operations.</span><span>
-</span><span id="line-191"></span><span class="hs-keyword">class</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">Monad</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679061169"><span class="hs-identifier hs-type">m</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph [...]
+</span><span id="line-191"></span><span class="hs-keyword">class</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">Monad</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679061595"><span class="hs-identifier hs-type">m</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph [...]
 </span><span id="line-192"></span><span>  </span><span class="hs-comment">-- | Read the whole path into a bytes.</span><span>
-</span><span id="line-193"></span><span>  </span><span id="readOp"><span class="annot"><a href="OpenDAL.html#readOp"><span class="hs-identifier hs-type">readOp</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><spa [...]
+</span><span id="line-193"></span><span>  </span><span id="readOp"><span class="annot"><a href="OpenDAL.html#readOp"><span class="hs-identifier hs-type">readOp</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><spa [...]
 </span><span id="line-194"></span><span>
 </span><span id="line-195"></span><span>  </span><span class="hs-comment">-- | Write bytes into given path.</span><span>
-</span><span id="line-196"></span><span>  </span><span id="writeOp"><span class="annot"><a href="OpenDAL.html#writeOp"><span class="hs-identifier hs-type">writeOp</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span>< [...]
+</span><span id="line-196"></span><span>  </span><span id="writeOp"><span class="annot"><a href="OpenDAL.html#writeOp"><span class="hs-identifier hs-type">writeOp</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span>< [...]
 </span><span id="line-197"></span><span>
 </span><span id="line-198"></span><span>  </span><span class="hs-comment">-- | Check if this path exists or not.</span><span>
-</span><span id="line-199"></span><span>  </span><span id="isExistOp"><span class="annot"><a href="OpenDAL.html#isExistOp"><span class="hs-identifier hs-type">isExistOp</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </ [...]
+</span><span id="line-199"></span><span>  </span><span id="isExistOp"><span class="annot"><a href="OpenDAL.html#isExistOp"><span class="hs-identifier hs-type">isExistOp</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </ [...]
 </span><span id="line-200"></span><span>
 </span><span id="line-201"></span><span>  </span><span class="hs-comment">-- | Create a dir at given path.</span><span>
-</span><span id="line-202"></span><span>  </span><span id="createDirOp"><span class="annot"><a href="OpenDAL.html#createDirOp"><span class="hs-identifier hs-type">createDirOp</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><sp [...]
+</span><span id="line-202"></span><span>  </span><span id="createDirOp"><span class="annot"><a href="OpenDAL.html#createDirOp"><span class="hs-identifier hs-type">createDirOp</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><sp [...]
 </span><span id="line-203"></span><span>
 </span><span id="line-204"></span><span>  </span><span class="hs-comment">-- | Copy a file from srcPath to dstPath.</span><span>
-</span><span id="line-205"></span><span>  </span><span id="copyOp"><span class="annot"><a href="OpenDAL.html#copyOp"><span class="hs-identifier hs-type">copyOp</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><spa [...]
+</span><span id="line-205"></span><span>  </span><span id="copyOp"><span class="annot"><a href="OpenDAL.html#copyOp"><span class="hs-identifier hs-type">copyOp</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><spa [...]
 </span><span id="line-206"></span><span>
 </span><span id="line-207"></span><span>  </span><span class="hs-comment">-- | Rename a file from srcPath to dstPath.</span><span>
-</span><span id="line-208"></span><span>  </span><span id="renameOp"><span class="annot"><a href="OpenDAL.html#renameOp"><span class="hs-identifier hs-type">renameOp</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </spa [...]
+</span><span id="line-208"></span><span>  </span><span id="renameOp"><span class="annot"><a href="OpenDAL.html#renameOp"><span class="hs-identifier hs-type">renameOp</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </spa [...]
 </span><span id="line-209"></span><span>
 </span><span id="line-210"></span><span>  </span><span class="hs-comment">-- | Delete given path.</span><span>
-</span><span id="line-211"></span><span>  </span><span id="deleteOp"><span class="annot"><a href="OpenDAL.html#deleteOp"><span class="hs-identifier hs-type">deleteOp</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </spa [...]
+</span><span id="line-211"></span><span>  </span><span id="deleteOp"><span class="annot"><a href="OpenDAL.html#deleteOp"><span class="hs-identifier hs-type">deleteOp</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </spa [...]
 </span><span id="line-212"></span><span>
 </span><span id="line-213"></span><span>  </span><span class="hs-comment">-- | Get given path&#8217;s metadata without cache directly.</span><span>
-</span><span id="line-214"></span><span>  </span><span id="statOp"><span class="annot"><a href="OpenDAL.html#statOp"><span class="hs-identifier hs-type">statOp</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><spa [...]
+</span><span id="line-214"></span><span>  </span><span id="statOp"><span class="annot"><a href="OpenDAL.html#statOp"><span class="hs-identifier hs-type">statOp</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><spa [...]
 </span><span id="line-215"></span><span>
 </span><span id="line-216"></span><span>  </span><span class="hs-comment">-- | List current dir path.</span><span>
 </span><span id="line-217"></span><span>  </span><span class="hs-comment">-- This function will create a new handle to list entries.</span><span>
 </span><span id="line-218"></span><span>  </span><span class="hs-comment">-- An error will be returned if path doesn&#8217;t end with /.</span><span>
-</span><span id="line-219"></span><span>  </span><span id="listOp"><span class="annot"><a href="OpenDAL.html#listOp"><span class="hs-identifier hs-type">listOp</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><spa [...]
+</span><span id="line-219"></span><span>  </span><span id="listOp"><span class="annot"><a href="OpenDAL.html#listOp"><span class="hs-identifier hs-type">listOp</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><spa [...]
 </span><span id="line-220"></span><span>
 </span><span id="line-221"></span><span>  </span><span class="hs-comment">-- | List dir in flat way.</span><span>
 </span><span id="line-222"></span><span>  </span><span class="hs-comment">-- Also, this function can be used to list a prefix.</span><span>
 </span><span id="line-223"></span><span>  </span><span class="hs-comment">-- An error will be returned if given path doesn&#8217;t end with /.</span><span>
-</span><span id="line-224"></span><span>  </span><span id="scanOp"><span class="annot"><a href="OpenDAL.html#scanOp"><span class="hs-identifier hs-type">scanOp</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><spa [...]
+</span><span id="line-224"></span><span>  </span><span id="scanOp"><span class="annot"><a href="OpenDAL.html#scanOp"><span class="hs-identifier hs-type">scanOp</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><spa [...]
 </span><span id="line-225"></span><span>
-</span><span id="line-226"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679061164"><span class="hs-special">(</span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">MonadIO</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679061164"><span class="hs-identifier hs-type">m</span></a></span><span class="hs-special">) [...]
-</span><span id="line-227"></span><span>  </span><span id="local-6989586621679060542"><span class="annot"><span class="annottext">readOp :: String -&gt; OperatorT m ByteString
-</span><a href="#local-6989586621679060542"><span class="hs-identifier hs-var hs-var hs-var hs-var">readOp</span></a></span></span><span> </span><span id="local-6989586621679060541"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060541"><span class="hs-identifier hs-var">path</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
-</span><span id="line-228"></span><span>    </span><span id="local-6989586621679060540"><span class="annot"><span class="annottext">Operator
-</span><a href="#local-6989586621679060540"><span class="hs-identifier hs-var">op</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall r (m :: * -&gt; *). MonadReader r m =&gt; m r
+</span><span id="line-226"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679061590"><span class="hs-special">(</span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">MonadIO</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679061590"><span class="hs-identifier hs-type">m</span></a></span><span class="hs-special">) [...]
+</span><span id="line-227"></span><span>  </span><span id="local-6989586621679060968"><span class="annot"><span class="annottext">readOp :: String -&gt; OperatorT m ByteString
+</span><a href="#local-6989586621679060968"><span class="hs-identifier hs-var hs-var hs-var hs-var">readOp</span></a></span></span><span> </span><span id="local-6989586621679060967"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060967"><span class="hs-identifier hs-var">path</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
+</span><span id="line-228"></span><span>    </span><span id="local-6989586621679060966"><span class="annot"><span class="annottext">Operator
+</span><a href="#local-6989586621679060966"><span class="hs-identifier hs-var">op</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall r (m :: * -&gt; *). MonadReader r m =&gt; m r
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/mtl-2.2.2/src"><span class="hs-identifier hs-var">ask</span></a></span><span>
-</span><span id="line-229"></span><span>    </span><span id="local-6989586621679060539"><span class="annot"><span class="annottext">Either OpenDALError ByteString
-</span><a href="#local-6989586621679060539"><span class="hs-identifier hs-var">result</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. MonadIO m =&gt; IO a -&gt; m a
+</span><span id="line-229"></span><span>    </span><span id="local-6989586621679060965"><span class="annot"><span class="annottext">Either OpenDALError ByteString
+</span><a href="#local-6989586621679060965"><span class="hs-identifier hs-var">result</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. MonadIO m =&gt; IO a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">liftIO</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">Operator -&gt; String -&gt; IO (Either OpenDALError ByteString)
 </span><a href="OpenDAL.html#readOpRaw"><span class="hs-identifier hs-var">readOpRaw</span></a></span><span> </span><span class="annot"><span class="annottext">Operator
-</span><a href="#local-6989586621679060540"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060541"><span class="hs-identifier hs-var">path</span></a></span><span>
+</span><a href="#local-6989586621679060966"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060967"><span class="hs-identifier hs-var">path</span></a></span><span>
 </span><span id="line-230"></span><span>    </span><span class="annot"><span class="annottext">forall a c b. (a -&gt; c) -&gt; (b -&gt; c) -&gt; Either a b -&gt; c
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">either</span></a></span><span> </span><span class="annot"><span class="annottext">forall e (m :: * -&gt; *) a. MonadError e m =&gt; e -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/mtl-2.2.2/src"><span class="hs-identifier hs-var">throwError</span></a></span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">Either OpenDALError ByteString
-</span><a href="#local-6989586621679060539"><span class="hs-identifier hs-var">result</span></a></span><span>
-</span><span id="line-231"></span><span>  </span><span id="local-6989586621679060531"><span class="annot"><span class="annottext">writeOp :: String -&gt; ByteString -&gt; OperatorT m ()
-</span><a href="#local-6989586621679060531"><span class="hs-identifier hs-var hs-var hs-var hs-var">writeOp</span></a></span></span><span> </span><span id="local-6989586621679060530"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060530"><span class="hs-identifier hs-var">path</span></a></span></span><span> </span><span id="local-6989586621679060529"><span class="annot"><span class="annottext">ByteString
-</span><a href="#local-6989586621679060529"><span class="hs-identifier hs-var">byte</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
-</span><span id="line-232"></span><span>    </span><span id="local-6989586621679060528"><span class="annot"><span class="annottext">Operator
-</span><a href="#local-6989586621679060528"><span class="hs-identifier hs-var">op</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall r (m :: * -&gt; *). MonadReader r m =&gt; m r
+</span><a href="#local-6989586621679060965"><span class="hs-identifier hs-var">result</span></a></span><span>
+</span><span id="line-231"></span><span>  </span><span id="local-6989586621679060957"><span class="annot"><span class="annottext">writeOp :: String -&gt; ByteString -&gt; OperatorT m ()
+</span><a href="#local-6989586621679060957"><span class="hs-identifier hs-var hs-var hs-var hs-var">writeOp</span></a></span></span><span> </span><span id="local-6989586621679060956"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060956"><span class="hs-identifier hs-var">path</span></a></span></span><span> </span><span id="local-6989586621679060955"><span class="annot"><span class="annottext">ByteString
+</span><a href="#local-6989586621679060955"><span class="hs-identifier hs-var">byte</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
+</span><span id="line-232"></span><span>    </span><span id="local-6989586621679060954"><span class="annot"><span class="annottext">Operator
+</span><a href="#local-6989586621679060954"><span class="hs-identifier hs-var">op</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall r (m :: * -&gt; *). MonadReader r m =&gt; m r
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/mtl-2.2.2/src"><span class="hs-identifier hs-var">ask</span></a></span><span>
-</span><span id="line-233"></span><span>    </span><span id="local-6989586621679060527"><span class="annot"><span class="annottext">Either OpenDALError ()
-</span><a href="#local-6989586621679060527"><span class="hs-identifier hs-var">result</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. MonadIO m =&gt; IO a -&gt; m a
+</span><span id="line-233"></span><span>    </span><span id="local-6989586621679060953"><span class="annot"><span class="annottext">Either OpenDALError ()
+</span><a href="#local-6989586621679060953"><span class="hs-identifier hs-var">result</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. MonadIO m =&gt; IO a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">liftIO</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">Operator -&gt; String -&gt; ByteString -&gt; IO (Either OpenDALError ())
 </span><a href="OpenDAL.html#writeOpRaw"><span class="hs-identifier hs-var">writeOpRaw</span></a></span><span> </span><span class="annot"><span class="annottext">Operator
-</span><a href="#local-6989586621679060528"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060530"><span class="hs-identifier hs-var">path</span></a></span><span> </span><span class="annot"><span class="annottext">ByteString
-</span><a href="#local-6989586621679060529"><span class="hs-identifier hs-var">byte</span></a></span><span>
+</span><a href="#local-6989586621679060954"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060956"><span class="hs-identifier hs-var">path</span></a></span><span> </span><span class="annot"><span class="annottext">ByteString
+</span><a href="#local-6989586621679060955"><span class="hs-identifier hs-var">byte</span></a></span><span>
 </span><span id="line-234"></span><span>    </span><span class="annot"><span class="annottext">forall a c b. (a -&gt; c) -&gt; (b -&gt; c) -&gt; Either a b -&gt; c
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">either</span></a></span><span> </span><span class="annot"><span class="annottext">forall e (m :: * -&gt; *) a. MonadError e m =&gt; e -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/mtl-2.2.2/src"><span class="hs-identifier hs-var">throwError</span></a></span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">Either OpenDALError ()
-</span><a href="#local-6989586621679060527"><span class="hs-identifier hs-var">result</span></a></span><span>
-</span><span id="line-235"></span><span>  </span><span id="local-6989586621679060520"><span class="annot"><span class="annottext">isExistOp :: String -&gt; OperatorT m Bool
-</span><a href="#local-6989586621679060520"><span class="hs-identifier hs-var hs-var hs-var hs-var">isExistOp</span></a></span></span><span> </span><span id="local-6989586621679060519"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060519"><span class="hs-identifier hs-var">path</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
-</span><span id="line-236"></span><span>    </span><span id="local-6989586621679060518"><span class="annot"><span class="annottext">Operator
-</span><a href="#local-6989586621679060518"><span class="hs-identifier hs-var">op</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall r (m :: * -&gt; *). MonadReader r m =&gt; m r
+</span><a href="#local-6989586621679060953"><span class="hs-identifier hs-var">result</span></a></span><span>
+</span><span id="line-235"></span><span>  </span><span id="local-6989586621679060946"><span class="annot"><span class="annottext">isExistOp :: String -&gt; OperatorT m Bool
+</span><a href="#local-6989586621679060946"><span class="hs-identifier hs-var hs-var hs-var hs-var">isExistOp</span></a></span></span><span> </span><span id="local-6989586621679060945"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060945"><span class="hs-identifier hs-var">path</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
+</span><span id="line-236"></span><span>    </span><span id="local-6989586621679060944"><span class="annot"><span class="annottext">Operator
+</span><a href="#local-6989586621679060944"><span class="hs-identifier hs-var">op</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall r (m :: * -&gt; *). MonadReader r m =&gt; m r
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/mtl-2.2.2/src"><span class="hs-identifier hs-var">ask</span></a></span><span>
-</span><span id="line-237"></span><span>    </span><span id="local-6989586621679060517"><span class="annot"><span class="annottext">Either OpenDALError Bool
-</span><a href="#local-6989586621679060517"><span class="hs-identifier hs-var">result</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. MonadIO m =&gt; IO a -&gt; m a
+</span><span id="line-237"></span><span>    </span><span id="local-6989586621679060943"><span class="annot"><span class="annottext">Either OpenDALError Bool
+</span><a href="#local-6989586621679060943"><span class="hs-identifier hs-var">result</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. MonadIO m =&gt; IO a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">liftIO</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">Operator -&gt; String -&gt; IO (Either OpenDALError Bool)
 </span><a href="OpenDAL.html#isExistOpRaw"><span class="hs-identifier hs-var">isExistOpRaw</span></a></span><span> </span><span class="annot"><span class="annottext">Operator
-</span><a href="#local-6989586621679060518"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060519"><span class="hs-identifier hs-var">path</span></a></span><span>
+</span><a href="#local-6989586621679060944"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060945"><span class="hs-identifier hs-var">path</span></a></span><span>
 </span><span id="line-238"></span><span>    </span><span class="annot"><span class="annottext">forall a c b. (a -&gt; c) -&gt; (b -&gt; c) -&gt; Either a b -&gt; c
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">either</span></a></span><span> </span><span class="annot"><span class="annottext">forall e (m :: * -&gt; *) a. MonadError e m =&gt; e -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/mtl-2.2.2/src"><span class="hs-identifier hs-var">throwError</span></a></span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">Either OpenDALError Bool
-</span><a href="#local-6989586621679060517"><span class="hs-identifier hs-var">result</span></a></span><span>
-</span><span id="line-239"></span><span>  </span><span id="local-6989586621679060510"><span class="annot"><span class="annottext">createDirOp :: String -&gt; OperatorT m ()
-</span><a href="#local-6989586621679060510"><span class="hs-identifier hs-var hs-var hs-var hs-var">createDirOp</span></a></span></span><span> </span><span id="local-6989586621679060509"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060509"><span class="hs-identifier hs-var">path</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
-</span><span id="line-240"></span><span>    </span><span id="local-6989586621679060508"><span class="annot"><span class="annottext">Operator
-</span><a href="#local-6989586621679060508"><span class="hs-identifier hs-var">op</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall r (m :: * -&gt; *). MonadReader r m =&gt; m r
+</span><a href="#local-6989586621679060943"><span class="hs-identifier hs-var">result</span></a></span><span>
+</span><span id="line-239"></span><span>  </span><span id="local-6989586621679060936"><span class="annot"><span class="annottext">createDirOp :: String -&gt; OperatorT m ()
+</span><a href="#local-6989586621679060936"><span class="hs-identifier hs-var hs-var hs-var hs-var">createDirOp</span></a></span></span><span> </span><span id="local-6989586621679060935"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060935"><span class="hs-identifier hs-var">path</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
+</span><span id="line-240"></span><span>    </span><span id="local-6989586621679060934"><span class="annot"><span class="annottext">Operator
+</span><a href="#local-6989586621679060934"><span class="hs-identifier hs-var">op</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall r (m :: * -&gt; *). MonadReader r m =&gt; m r
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/mtl-2.2.2/src"><span class="hs-identifier hs-var">ask</span></a></span><span>
-</span><span id="line-241"></span><span>    </span><span id="local-6989586621679060507"><span class="annot"><span class="annottext">Either OpenDALError ()
-</span><a href="#local-6989586621679060507"><span class="hs-identifier hs-var">result</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. MonadIO m =&gt; IO a -&gt; m a
+</span><span id="line-241"></span><span>    </span><span id="local-6989586621679060933"><span class="annot"><span class="annottext">Either OpenDALError ()
+</span><a href="#local-6989586621679060933"><span class="hs-identifier hs-var">result</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. MonadIO m =&gt; IO a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">liftIO</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">Operator -&gt; String -&gt; IO (Either OpenDALError ())
 </span><a href="OpenDAL.html#createDirOpRaw"><span class="hs-identifier hs-var">createDirOpRaw</span></a></span><span> </span><span class="annot"><span class="annottext">Operator
-</span><a href="#local-6989586621679060508"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060509"><span class="hs-identifier hs-var">path</span></a></span><span>
+</span><a href="#local-6989586621679060934"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060935"><span class="hs-identifier hs-var">path</span></a></span><span>
 </span><span id="line-242"></span><span>    </span><span class="annot"><span class="annottext">forall a c b. (a -&gt; c) -&gt; (b -&gt; c) -&gt; Either a b -&gt; c
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">either</span></a></span><span> </span><span class="annot"><span class="annottext">forall e (m :: * -&gt; *) a. MonadError e m =&gt; e -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/mtl-2.2.2/src"><span class="hs-identifier hs-var">throwError</span></a></span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">Either OpenDALError ()
-</span><a href="#local-6989586621679060507"><span class="hs-identifier hs-var">result</span></a></span><span>
-</span><span id="line-243"></span><span>  </span><span id="local-6989586621679060500"><span class="annot"><span class="annottext">copyOp :: String -&gt; String -&gt; OperatorT m ()
-</span><a href="#local-6989586621679060500"><span class="hs-identifier hs-var hs-var hs-var hs-var">copyOp</span></a></span></span><span> </span><span id="local-6989586621679060499"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060499"><span class="hs-identifier hs-var">src</span></a></span></span><span> </span><span id="local-6989586621679060498"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060498"><span class="hs-identifier hs-var">dst</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
-</span><span id="line-244"></span><span>    </span><span id="local-6989586621679060497"><span class="annot"><span class="annottext">Operator
-</span><a href="#local-6989586621679060497"><span class="hs-identifier hs-var">op</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall r (m :: * -&gt; *). MonadReader r m =&gt; m r
+</span><a href="#local-6989586621679060933"><span class="hs-identifier hs-var">result</span></a></span><span>
+</span><span id="line-243"></span><span>  </span><span id="local-6989586621679060926"><span class="annot"><span class="annottext">copyOp :: String -&gt; String -&gt; OperatorT m ()
+</span><a href="#local-6989586621679060926"><span class="hs-identifier hs-var hs-var hs-var hs-var">copyOp</span></a></span></span><span> </span><span id="local-6989586621679060925"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060925"><span class="hs-identifier hs-var">src</span></a></span></span><span> </span><span id="local-6989586621679060924"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060924"><span class="hs-identifier hs-var">dst</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
+</span><span id="line-244"></span><span>    </span><span id="local-6989586621679060923"><span class="annot"><span class="annottext">Operator
+</span><a href="#local-6989586621679060923"><span class="hs-identifier hs-var">op</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall r (m :: * -&gt; *). MonadReader r m =&gt; m r
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/mtl-2.2.2/src"><span class="hs-identifier hs-var">ask</span></a></span><span>
-</span><span id="line-245"></span><span>    </span><span id="local-6989586621679060496"><span class="annot"><span class="annottext">Either OpenDALError ()
-</span><a href="#local-6989586621679060496"><span class="hs-identifier hs-var">result</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. MonadIO m =&gt; IO a -&gt; m a
+</span><span id="line-245"></span><span>    </span><span id="local-6989586621679060922"><span class="annot"><span class="annottext">Either OpenDALError ()
+</span><a href="#local-6989586621679060922"><span class="hs-identifier hs-var">result</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. MonadIO m =&gt; IO a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">liftIO</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">Operator -&gt; String -&gt; String -&gt; IO (Either OpenDALError ())
 </span><a href="OpenDAL.html#copyOpRaw"><span class="hs-identifier hs-var">copyOpRaw</span></a></span><span> </span><span class="annot"><span class="annottext">Operator
-</span><a href="#local-6989586621679060497"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060499"><span class="hs-identifier hs-var">src</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060498"><span class="hs-identifier hs-var">dst</span></a></span><span>
+</span><a href="#local-6989586621679060923"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060925"><span class="hs-identifier hs-var">src</span></a></span><span> </span><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060924"><span class="hs-identifier hs-var">dst</span></a></span><span>
 </span><span id="line-246"></span><span>    </span><span class="annot"><span class="annottext">forall a c b. (a -&gt; c) -&gt; (b -&gt; c) -&gt; Either a b -&gt; c
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">either</span></a></span><span> </span><span class="annot"><span class="annottext">forall e (m :: * -&gt; *) a. MonadError e m =&gt; e -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/mtl-2.2.2/src"><span class="hs-identifier hs-var">throwError</span></a></span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">Either OpenDALError ()
-</span><a href="#local-6989586621679060496"><span class="hs-identifier hs-var">result</span></a></span><span>
-</span><span id="line-247"></span><span>  </span><span id="local-6989586621679060489"><span class="annot"><span class="annottext">renameOp :: String -&gt; String -&gt; OperatorT m ()
-</span><a href="#local-6989586621679060489"><span class="hs-identifier hs-var hs-var hs-var hs-var">renameOp</span></a></span></span><span> </span><span id="local-6989586621679060488"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060488"><span class="hs-identifier hs-var">src</span></a></span></span><span> </span><span id="local-6989586621679060487"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060487"><span class="hs-identifier hs-var">dst</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
-</span><span id="line-248"></span><span>    </span><span id="local-6989586621679060486"><span class="annot"><span class="annottext">Operator
-</span><a href="#local-6989586621679060486"><span class="hs-identifier hs-var">op</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall r (m :: * -&gt; *). MonadReader r m =&gt; m r
+</span><a href="#local-6989586621679060922"><span class="hs-identifier hs-var">result</span></a></span><span>
+</span><span id="line-247"></span><span>  </span><span id="local-6989586621679060915"><span class="annot"><span class="annottext">renameOp :: String -&gt; String -&gt; OperatorT m ()
+</span><a href="#local-6989586621679060915"><span class="hs-identifier hs-var hs-var hs-var hs-var">renameOp</span></a></span></span><span> </span><span id="local-6989586621679060914"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060914"><span class="hs-identifier hs-var">src</span></a></span></span><span> </span><span id="local-6989586621679060913"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060913"><span class="hs-identifier hs-var">dst</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
+</span><span id="line-248"></span><span>    </span><span id="local-6989586621679060912"><span class="annot"><span class="annottext">Operator
+</span><a href="#local-6989586621679060912"><span class="hs-identifier hs-var">op</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall r (m :: * -&gt; *). MonadReader r m =&gt; m r
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/mtl-2.2.2/src"><span class="hs-identifier hs-var">ask</span></a></span><span>
-</span><span id="line-249"></span><span>    </span><span id="local-6989586621679060485"><span class="annot"><span class="annottext">Either OpenDALError ()
-</span><a href="#local-6989586621679060485"><span class="hs-identifier hs-var">result</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. MonadIO m =&gt; IO a -&gt; m a
+</span><span id="line-249"></span><span>    </span><span id="local-6989586621679060911"><span class="annot"><span class="annottext">Either OpenDALError ()
+</span><a href="#local-6989586621679060911"><span class="hs-identifier hs-var">result</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. MonadIO m =&gt; IO a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">liftIO</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">Operator -&gt; String -&gt; String -&gt; IO (Either OpenDALError ())
 </span><a href="OpenDAL.html#renameOpRaw"><span class="hs-identifier hs-var">renameOpRaw</span></a></span><span> </span><span class="annot"><span class="annottext">Operator
-</span><a href="#local-6989586621679060486"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060488"><span class="hs-identifier hs-var">src</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060487"><span class="hs-identifier hs-var">dst</span></a></span><span>
+</span><a href="#local-6989586621679060912"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060914"><span class="hs-identifier hs-var">src</span></a></span><span> </span><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060913"><span class="hs-identifier hs-var">dst</span></a></span><span>
 </span><span id="line-250"></span><span>    </span><span class="annot"><span class="annottext">forall a c b. (a -&gt; c) -&gt; (b -&gt; c) -&gt; Either a b -&gt; c
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">either</span></a></span><span> </span><span class="annot"><span class="annottext">forall e (m :: * -&gt; *) a. MonadError e m =&gt; e -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/mtl-2.2.2/src"><span class="hs-identifier hs-var">throwError</span></a></span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">Either OpenDALError ()
-</span><a href="#local-6989586621679060485"><span class="hs-identifier hs-var">result</span></a></span><span>
-</span><span id="line-251"></span><span>  </span><span id="local-6989586621679060478"><span class="annot"><span class="annottext">deleteOp :: String -&gt; OperatorT m ()
-</span><a href="#local-6989586621679060478"><span class="hs-identifier hs-var hs-var hs-var hs-var">deleteOp</span></a></span></span><span> </span><span id="local-6989586621679060477"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060477"><span class="hs-identifier hs-var">path</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
-</span><span id="line-252"></span><span>    </span><span id="local-6989586621679060476"><span class="annot"><span class="annottext">Operator
-</span><a href="#local-6989586621679060476"><span class="hs-identifier hs-var">op</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall r (m :: * -&gt; *). MonadReader r m =&gt; m r
+</span><a href="#local-6989586621679060911"><span class="hs-identifier hs-var">result</span></a></span><span>
+</span><span id="line-251"></span><span>  </span><span id="local-6989586621679060904"><span class="annot"><span class="annottext">deleteOp :: String -&gt; OperatorT m ()
+</span><a href="#local-6989586621679060904"><span class="hs-identifier hs-var hs-var hs-var hs-var">deleteOp</span></a></span></span><span> </span><span id="local-6989586621679060903"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060903"><span class="hs-identifier hs-var">path</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
+</span><span id="line-252"></span><span>    </span><span id="local-6989586621679060902"><span class="annot"><span class="annottext">Operator
+</span><a href="#local-6989586621679060902"><span class="hs-identifier hs-var">op</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall r (m :: * -&gt; *). MonadReader r m =&gt; m r
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/mtl-2.2.2/src"><span class="hs-identifier hs-var">ask</span></a></span><span>
-</span><span id="line-253"></span><span>    </span><span id="local-6989586621679060475"><span class="annot"><span class="annottext">Either OpenDALError ()
-</span><a href="#local-6989586621679060475"><span class="hs-identifier hs-var">result</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. MonadIO m =&gt; IO a -&gt; m a
+</span><span id="line-253"></span><span>    </span><span id="local-6989586621679060901"><span class="annot"><span class="annottext">Either OpenDALError ()
+</span><a href="#local-6989586621679060901"><span class="hs-identifier hs-var">result</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. MonadIO m =&gt; IO a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">liftIO</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">Operator -&gt; String -&gt; IO (Either OpenDALError ())
 </span><a href="OpenDAL.html#deleteOpRaw"><span class="hs-identifier hs-var">deleteOpRaw</span></a></span><span> </span><span class="annot"><span class="annottext">Operator
-</span><a href="#local-6989586621679060476"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060477"><span class="hs-identifier hs-var">path</span></a></span><span>
+</span><a href="#local-6989586621679060902"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060903"><span class="hs-identifier hs-var">path</span></a></span><span>
 </span><span id="line-254"></span><span>    </span><span class="annot"><span class="annottext">forall a c b. (a -&gt; c) -&gt; (b -&gt; c) -&gt; Either a b -&gt; c
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">either</span></a></span><span> </span><span class="annot"><span class="annottext">forall e (m :: * -&gt; *) a. MonadError e m =&gt; e -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/mtl-2.2.2/src"><span class="hs-identifier hs-var">throwError</span></a></span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">Either OpenDALError ()
-</span><a href="#local-6989586621679060475"><span class="hs-identifier hs-var">result</span></a></span><span>
-</span><span id="line-255"></span><span>  </span><span id="local-6989586621679060468"><span class="annot"><span class="annottext">statOp :: String -&gt; OperatorT m Metadata
-</span><a href="#local-6989586621679060468"><span class="hs-identifier hs-var hs-var hs-var hs-var">statOp</span></a></span></span><span> </span><span id="local-6989586621679060467"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060467"><span class="hs-identifier hs-var">path</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
-</span><span id="line-256"></span><span>    </span><span id="local-6989586621679060466"><span class="annot"><span class="annottext">Operator
-</span><a href="#local-6989586621679060466"><span class="hs-identifier hs-var">op</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall r (m :: * -&gt; *). MonadReader r m =&gt; m r
+</span><a href="#local-6989586621679060901"><span class="hs-identifier hs-var">result</span></a></span><span>
+</span><span id="line-255"></span><span>  </span><span id="local-6989586621679060894"><span class="annot"><span class="annottext">statOp :: String -&gt; OperatorT m Metadata
+</span><a href="#local-6989586621679060894"><span class="hs-identifier hs-var hs-var hs-var hs-var">statOp</span></a></span></span><span> </span><span id="local-6989586621679060893"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060893"><span class="hs-identifier hs-var">path</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
+</span><span id="line-256"></span><span>    </span><span id="local-6989586621679060892"><span class="annot"><span class="annottext">Operator
+</span><a href="#local-6989586621679060892"><span class="hs-identifier hs-var">op</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall r (m :: * -&gt; *). MonadReader r m =&gt; m r
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/mtl-2.2.2/src"><span class="hs-identifier hs-var">ask</span></a></span><span>
-</span><span id="line-257"></span><span>    </span><span id="local-6989586621679060465"><span class="annot"><span class="annottext">Either OpenDALError Metadata
-</span><a href="#local-6989586621679060465"><span class="hs-identifier hs-var">result</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. MonadIO m =&gt; IO a -&gt; m a
+</span><span id="line-257"></span><span>    </span><span id="local-6989586621679060891"><span class="annot"><span class="annottext">Either OpenDALError Metadata
+</span><a href="#local-6989586621679060891"><span class="hs-identifier hs-var">result</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. MonadIO m =&gt; IO a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">liftIO</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">Operator -&gt; String -&gt; IO (Either OpenDALError Metadata)
 </span><a href="OpenDAL.html#statOpRaw"><span class="hs-identifier hs-var">statOpRaw</span></a></span><span> </span><span class="annot"><span class="annottext">Operator
-</span><a href="#local-6989586621679060466"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060467"><span class="hs-identifier hs-var">path</span></a></span><span>
+</span><a href="#local-6989586621679060892"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060893"><span class="hs-identifier hs-var">path</span></a></span><span>
 </span><span id="line-258"></span><span>    </span><span class="annot"><span class="annottext">forall a c b. (a -&gt; c) -&gt; (b -&gt; c) -&gt; Either a b -&gt; c
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">either</span></a></span><span> </span><span class="annot"><span class="annottext">forall e (m :: * -&gt; *) a. MonadError e m =&gt; e -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/mtl-2.2.2/src"><span class="hs-identifier hs-var">throwError</span></a></span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">Either OpenDALError Metadata
-</span><a href="#local-6989586621679060465"><span class="hs-identifier hs-var">result</span></a></span><span>
-</span><span id="line-259"></span><span>  </span><span id="local-6989586621679060458"><span class="annot"><span class="annottext">listOp :: String -&gt; OperatorT m Lister
-</span><a href="#local-6989586621679060458"><span class="hs-identifier hs-var hs-var hs-var hs-var">listOp</span></a></span></span><span> </span><span id="local-6989586621679060457"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060457"><span class="hs-identifier hs-var">path</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
-</span><span id="line-260"></span><span>    </span><span id="local-6989586621679060456"><span class="annot"><span class="annottext">Operator
-</span><a href="#local-6989586621679060456"><span class="hs-identifier hs-var">op</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall r (m :: * -&gt; *). MonadReader r m =&gt; m r
+</span><a href="#local-6989586621679060891"><span class="hs-identifier hs-var">result</span></a></span><span>
+</span><span id="line-259"></span><span>  </span><span id="local-6989586621679060884"><span class="annot"><span class="annottext">listOp :: String -&gt; OperatorT m Lister
+</span><a href="#local-6989586621679060884"><span class="hs-identifier hs-var hs-var hs-var hs-var">listOp</span></a></span></span><span> </span><span id="local-6989586621679060883"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060883"><span class="hs-identifier hs-var">path</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
+</span><span id="line-260"></span><span>    </span><span id="local-6989586621679060882"><span class="annot"><span class="annottext">Operator
+</span><a href="#local-6989586621679060882"><span class="hs-identifier hs-var">op</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall r (m :: * -&gt; *). MonadReader r m =&gt; m r
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/mtl-2.2.2/src"><span class="hs-identifier hs-var">ask</span></a></span><span>
-</span><span id="line-261"></span><span>    </span><span id="local-6989586621679060455"><span class="annot"><span class="annottext">Either OpenDALError Lister
-</span><a href="#local-6989586621679060455"><span class="hs-identifier hs-var">result</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. MonadIO m =&gt; IO a -&gt; m a
+</span><span id="line-261"></span><span>    </span><span id="local-6989586621679060881"><span class="annot"><span class="annottext">Either OpenDALError Lister
+</span><a href="#local-6989586621679060881"><span class="hs-identifier hs-var">result</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. MonadIO m =&gt; IO a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">liftIO</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">Operator -&gt; String -&gt; IO (Either OpenDALError Lister)
 </span><a href="OpenDAL.html#listOpRaw"><span class="hs-identifier hs-var">listOpRaw</span></a></span><span> </span><span class="annot"><span class="annottext">Operator
-</span><a href="#local-6989586621679060456"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060457"><span class="hs-identifier hs-var">path</span></a></span><span>
+</span><a href="#local-6989586621679060882"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060883"><span class="hs-identifier hs-var">path</span></a></span><span>
 </span><span id="line-262"></span><span>    </span><span class="annot"><span class="annottext">forall a c b. (a -&gt; c) -&gt; (b -&gt; c) -&gt; Either a b -&gt; c
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">either</span></a></span><span> </span><span class="annot"><span class="annottext">forall e (m :: * -&gt; *) a. MonadError e m =&gt; e -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/mtl-2.2.2/src"><span class="hs-identifier hs-var">throwError</span></a></span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">Either OpenDALError Lister
-</span><a href="#local-6989586621679060455"><span class="hs-identifier hs-var">result</span></a></span><span>
-</span><span id="line-263"></span><span>  </span><span id="local-6989586621679060448"><span class="annot"><span class="annottext">scanOp :: String -&gt; OperatorT m Lister
-</span><a href="#local-6989586621679060448"><span class="hs-identifier hs-var hs-var hs-var hs-var">scanOp</span></a></span></span><span> </span><span id="local-6989586621679060447"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060447"><span class="hs-identifier hs-var">path</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
-</span><span id="line-264"></span><span>    </span><span id="local-6989586621679060446"><span class="annot"><span class="annottext">Operator
-</span><a href="#local-6989586621679060446"><span class="hs-identifier hs-var">op</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall r (m :: * -&gt; *). MonadReader r m =&gt; m r
+</span><a href="#local-6989586621679060881"><span class="hs-identifier hs-var">result</span></a></span><span>
+</span><span id="line-263"></span><span>  </span><span id="local-6989586621679060874"><span class="annot"><span class="annottext">scanOp :: String -&gt; OperatorT m Lister
+</span><a href="#local-6989586621679060874"><span class="hs-identifier hs-var hs-var hs-var hs-var">scanOp</span></a></span></span><span> </span><span id="local-6989586621679060873"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060873"><span class="hs-identifier hs-var">path</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
+</span><span id="line-264"></span><span>    </span><span id="local-6989586621679060872"><span class="annot"><span class="annottext">Operator
+</span><a href="#local-6989586621679060872"><span class="hs-identifier hs-var">op</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall r (m :: * -&gt; *). MonadReader r m =&gt; m r
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/mtl-2.2.2/src"><span class="hs-identifier hs-var">ask</span></a></span><span>
-</span><span id="line-265"></span><span>    </span><span id="local-6989586621679060445"><span class="annot"><span class="annottext">Either OpenDALError Lister
-</span><a href="#local-6989586621679060445"><span class="hs-identifier hs-var">result</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. MonadIO m =&gt; IO a -&gt; m a
+</span><span id="line-265"></span><span>    </span><span id="local-6989586621679060871"><span class="annot"><span class="annottext">Either OpenDALError Lister
+</span><a href="#local-6989586621679060871"><span class="hs-identifier hs-var">result</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. MonadIO m =&gt; IO a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">liftIO</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">Operator -&gt; String -&gt; IO (Either OpenDALError Lister)
 </span><a href="OpenDAL.html#scanOpRaw"><span class="hs-identifier hs-var">scanOpRaw</span></a></span><span> </span><span class="annot"><span class="annottext">Operator
-</span><a href="#local-6989586621679060446"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060447"><span class="hs-identifier hs-var">path</span></a></span><span>
+</span><a href="#local-6989586621679060872"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060873"><span class="hs-identifier hs-var">path</span></a></span><span>
 </span><span id="line-266"></span><span>    </span><span class="annot"><span class="annottext">forall a c b. (a -&gt; c) -&gt; (b -&gt; c) -&gt; Either a b -&gt; c
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">either</span></a></span><span> </span><span class="annot"><span class="annottext">forall e (m :: * -&gt; *) a. MonadError e m =&gt; e -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/mtl-2.2.2/src"><span class="hs-identifier hs-var">throwError</span></a></span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">Either OpenDALError Lister
-</span><a href="#local-6989586621679060445"><span class="hs-identifier hs-var">result</span></a></span><span>
+</span><a href="#local-6989586621679060871"><span class="hs-identifier hs-var">result</span></a></span><span>
 </span><span id="line-267"></span><span>
 </span><span id="line-268"></span><span class="hs-comment">-- helper functions</span><span>
 </span><span id="line-269"></span><span>
 </span><span id="line-270"></span><span class="annot"><a href="OpenDAL.html#byteSliceToByteString"><span class="hs-identifier hs-type">byteSliceToByteString</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="OpenDAL.FFI.html#ByteSlice"><span class="hs-identifier hs-type">ByteSlice</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/do [...]
 </span><span id="line-271"></span><span id="byteSliceToByteString"><span class="annot"><span class="annottext">byteSliceToByteString :: ByteSlice -&gt; IO ByteString
-</span><a href="OpenDAL.html#byteSliceToByteString"><span class="hs-identifier hs-var hs-var">byteSliceToByteString</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="OpenDAL.FFI.html#ByteSlice"><span class="hs-identifier hs-type">ByteSlice</span></a></span><span> </span><span id="local-6989586621679060442"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060442"><span class="hs-identifier hs-var">bsDataPtr</span></a></span></span><span> </span><span id="local-6989586621679060441"><span class="annot"><span class="annottext">CSize
-</span><a href="#local-6989586621679060441"><span class="hs-identifier hs-var">len</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CStringLen -&gt; IO ByteString
+</span><a href="OpenDAL.html#byteSliceToByteString"><span class="hs-identifier hs-var hs-var">byteSliceToByteString</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="OpenDAL.FFI.html#ByteSlice"><span class="hs-identifier hs-type">ByteSlice</span></a></span><span> </span><span id="local-6989586621679060868"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060868"><span class="hs-identifier hs-var">bsDataPtr</span></a></span></span><span> </span><span id="local-6989586621679060867"><span class="annot"><span class="annottext">CSize
+</span><a href="#local-6989586621679060867"><span class="hs-identifier hs-var">len</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CStringLen -&gt; IO ByteString
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/bytestring-0.11.4.0/src"><span class="hs-identifier hs-var">BS.packCStringLen</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060442"><span class="hs-identifier hs-var">bsDataPtr</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">forall a b. (Integral a, Num b) =&gt; a -&gt; b
+</span><a href="#local-6989586621679060868"><span class="hs-identifier hs-var">bsDataPtr</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">forall a b. (Integral a, Num b) =&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="annot"><span class="annottext">CSize
-</span><a href="#local-6989586621679060441"><span class="hs-identifier hs-var">len</span></a></span><span class="hs-special">)</span><span>
+</span><a href="#local-6989586621679060867"><span class="hs-identifier hs-var">len</span></a></span><span class="hs-special">)</span><span>
 </span><span id="line-272"></span><span>
 </span><span id="line-273"></span><span class="annot"><a href="OpenDAL.html#parseErrorCode"><span class="hs-identifier hs-type">parseErrorCode</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/ghc-prim-0.8.0/src"><span class="hs-identifier hs-type">Int</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="O [...]
 </span><span id="line-274"></span><span id="parseErrorCode"><span class="annot"><span class="annottext">parseErrorCode :: Int -&gt; ErrorCode
@@ -679,32 +679,32 @@ m a -&gt; t m a
 </span><span id="line-291"></span><span>
 </span><span id="line-292"></span><span class="annot"><a href="OpenDAL.html#parseCString"><span class="hs-identifier hs-type">parseCString</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">CString</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href=".. [...]
 </span><span id="line-293"></span><span id="parseCString"><span class="annot"><span class="annottext">parseCString :: CString -&gt; IO (Maybe String)
-</span><a href="OpenDAL.html#parseCString"><span class="hs-identifier hs-var hs-var">parseCString</span></a></span></span><span> </span><span id="local-6989586621679060436"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060436"><span class="hs-identifier hs-var">value</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060436"><span class="hs-identifier hs-var">value</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Eq a =&gt; a -&gt; a -&gt; Bool
+</span><a href="OpenDAL.html#parseCString"><span class="hs-identifier hs-var hs-var">parseCString</span></a></span></span><span> </span><span id="local-6989586621679060862"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060862"><span class="hs-identifier hs-var">value</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060862"><span class="hs-identifier hs-var">value</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Eq a =&gt; a -&gt; a -&gt; Bool
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/ghc-prim-0.8.0/src"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Ptr a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">nullPtr</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Maybe a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">Nothing</span></a></span><span>
-</span><span id="line-294"></span><span class="annot"><a href="OpenDAL.html#parseCString"><span class="hs-identifier hs-var">parseCString</span></a></span><span> </span><span id="local-6989586621679060434"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060434"><span class="hs-identifier hs-var">value</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
-</span><span id="line-295"></span><span>  </span><span id="local-6989586621679060433"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060433"><span class="hs-identifier hs-var">value'</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO String
+</span><span id="line-294"></span><span class="annot"><a href="OpenDAL.html#parseCString"><span class="hs-identifier hs-var">parseCString</span></a></span><span> </span><span id="local-6989586621679060860"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060860"><span class="hs-identifier hs-var">value</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
+</span><span id="line-295"></span><span>  </span><span id="local-6989586621679060859"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060859"><span class="hs-identifier hs-var">value'</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO String
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peekCString</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060434"><span class="hs-identifier hs-var">value</span></a></span><span>
+</span><a href="#local-6989586621679060860"><span class="hs-identifier hs-var">value</span></a></span><span>
 </span><span id="line-296"></span><span>  </span><span class="annot"><span class="annottext">forall a. Ptr a -&gt; IO ()
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">free</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060434"><span class="hs-identifier hs-var">value</span></a></span><span>
+</span><a href="#local-6989586621679060860"><span class="hs-identifier hs-var">value</span></a></span><span>
 </span><span id="line-297"></span><span>  </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. a -&gt; Maybe a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060433"><span class="hs-identifier hs-var">value'</span></a></span><span>
+</span><a href="#local-6989586621679060859"><span class="hs-identifier hs-var">value'</span></a></span><span>
 </span><span id="line-298"></span><span>
 </span><span id="line-299"></span><span class="annot"><a href="OpenDAL.html#parseTime"><span class="hs-identifier hs-type">parseTime</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../file:/ [...]
 </span><span id="line-300"></span><span id="parseTime"><span class="annot"><span class="annottext">parseTime :: String -&gt; Maybe UTCTime
-</span><a href="OpenDAL.html#parseTime"><span class="hs-identifier hs-var hs-var">parseTime</span></a></span></span><span> </span><span id="local-6989586621679060429"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060429"><span class="hs-identifier hs-var">time</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ZonedTime -&gt; UTCTime
+</span><a href="OpenDAL.html#parseTime"><span class="hs-identifier hs-var hs-var">parseTime</span></a></span></span><span> </span><span id="local-6989586621679060855"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060855"><span class="hs-identifier hs-var">time</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ZonedTime -&gt; UTCTime
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/time-1.11.1.1/src"><span class="hs-identifier hs-var">zonedTimeToUTC</span></a></span><span> </span><span class="annot"><span class="annottext">forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">&lt;$&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) t.
 (MonadFail m, ParseTime t) =&gt;
@@ -713,84 +713,84 @@ Bool -&gt; TimeLocale -&gt; String -&gt; String -&gt; m t
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/ghc-prim-0.8.0/src"><span class="hs-identifier hs-var">True</span></a></span><span> </span><span class="annot"><span class="annottext">TimeLocale
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/time-1.11.1.1/src"><span class="hs-identifier hs-var">defaultTimeLocale</span></a></span><span> </span><span class="annot"><span class="annottext">String
 </span><span class="hs-string">&quot;%Y-%m-%dT%H:%M:%S%Q%z&quot;</span></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060429"><span class="hs-identifier hs-var">time</span></a></span><span>
+</span><a href="#local-6989586621679060855"><span class="hs-identifier hs-var">time</span></a></span><span>
 </span><span id="line-301"></span><span>
 </span><span id="line-302"></span><span class="annot"><a href="OpenDAL.html#parseFFIMetadata"><span class="hs-identifier hs-type">parseFFIMetadata</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="OpenDAL.FFI.html#FFIMetadata"><span class="hs-identifier hs-type">FFIMetadata</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc- [...]
 </span><span id="line-303"></span><span id="parseFFIMetadata"><span class="annot"><span class="annottext">parseFFIMetadata :: FFIMetadata -&gt; IO Metadata
-</span><a href="OpenDAL.html#parseFFIMetadata"><span class="hs-identifier hs-var hs-var">parseFFIMetadata</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="OpenDAL.FFI.html#FFIMetadata"><span class="hs-identifier hs-type">FFIMetadata</span></a></span><span> </span><span id="local-6989586621679060425"><span class="annot"><span class="annottext">CUInt
-</span><a href="#local-6989586621679060425"><span class="hs-identifier hs-var">mode</span></a></span></span><span> </span><span id="local-6989586621679060424"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060424"><span class="hs-identifier hs-var">cacheControl</span></a></span></span><span> </span><span id="local-6989586621679060423"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060423"><span class="hs-identifier hs-var">contentDisposition</span></a></span></span><span> </span><span id="local-6989586621679060422"><span class="annot"><span class="annottext">CULong
-</span><a href="#local-6989586621679060422"><span class="hs-identifier hs-var">contentLength</span></a></span></span><span> </span><span id="local-6989586621679060421"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060421"><span class="hs-identifier hs-var">contentMD5</span></a></span></span><span> </span><span id="local-6989586621679060420"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060420"><span class="hs-identifier hs-var">contentType</span></a></span></span><span> </span><span id="local-6989586621679060419"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060419"><span class="hs-identifier hs-var">eTag</span></a></span></span><span> </span><span id="local-6989586621679060418"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060418"><span class="hs-identifier hs-var">lastModified</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
-</span><span id="line-304"></span><span>  </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679060415"><span class="annot"><span class="annottext">mode' :: EntryMode
-</span><a href="#local-6989586621679060415"><span class="hs-identifier hs-var hs-var">mode'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; EntryMode
+</span><a href="OpenDAL.html#parseFFIMetadata"><span class="hs-identifier hs-var hs-var">parseFFIMetadata</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="OpenDAL.FFI.html#FFIMetadata"><span class="hs-identifier hs-type">FFIMetadata</span></a></span><span> </span><span id="local-6989586621679060851"><span class="annot"><span class="annottext">CUInt
+</span><a href="#local-6989586621679060851"><span class="hs-identifier hs-var">mode</span></a></span></span><span> </span><span id="local-6989586621679060850"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060850"><span class="hs-identifier hs-var">cacheControl</span></a></span></span><span> </span><span id="local-6989586621679060849"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060849"><span class="hs-identifier hs-var">contentDisposition</span></a></span></span><span> </span><span id="local-6989586621679060848"><span class="annot"><span class="annottext">CULong
+</span><a href="#local-6989586621679060848"><span class="hs-identifier hs-var">contentLength</span></a></span></span><span> </span><span id="local-6989586621679060847"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060847"><span class="hs-identifier hs-var">contentMD5</span></a></span></span><span> </span><span id="local-6989586621679060846"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060846"><span class="hs-identifier hs-var">contentType</span></a></span></span><span> </span><span id="local-6989586621679060845"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060845"><span class="hs-identifier hs-var">eTag</span></a></span></span><span> </span><span id="local-6989586621679060844"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060844"><span class="hs-identifier hs-var">lastModified</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
+</span><span id="line-304"></span><span>  </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679060841"><span class="annot"><span class="annottext">mode' :: EntryMode
+</span><a href="#local-6989586621679060841"><span class="hs-identifier hs-var hs-var">mode'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; EntryMode
 </span><a href="OpenDAL.html#parseEntryMode"><span class="hs-identifier hs-var">parseEntryMode</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (Integral a, Num b) =&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="annot"><span class="annottext">CUInt
-</span><a href="#local-6989586621679060425"><span class="hs-identifier hs-var">mode</span></a></span><span>
-</span><span id="line-305"></span><span>  </span><span id="local-6989586621679060414"><span class="annot"><span class="annottext">Maybe String
-</span><a href="#local-6989586621679060414"><span class="hs-identifier hs-var">cacheControl'</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO (Maybe String)
+</span><a href="#local-6989586621679060851"><span class="hs-identifier hs-var">mode</span></a></span><span>
+</span><span id="line-305"></span><span>  </span><span id="local-6989586621679060840"><span class="annot"><span class="annottext">Maybe String
+</span><a href="#local-6989586621679060840"><span class="hs-identifier hs-var">cacheControl'</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO (Maybe String)
 </span><a href="OpenDAL.html#parseCString"><span class="hs-identifier hs-var">parseCString</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060424"><span class="hs-identifier hs-var">cacheControl</span></a></span><span>
-</span><span id="line-306"></span><span>  </span><span id="local-6989586621679060413"><span class="annot"><span class="annottext">Maybe String
-</span><a href="#local-6989586621679060413"><span class="hs-identifier hs-var">contentDisposition'</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO (Maybe String)
+</span><a href="#local-6989586621679060850"><span class="hs-identifier hs-var">cacheControl</span></a></span><span>
+</span><span id="line-306"></span><span>  </span><span id="local-6989586621679060839"><span class="annot"><span class="annottext">Maybe String
+</span><a href="#local-6989586621679060839"><span class="hs-identifier hs-var">contentDisposition'</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO (Maybe String)
 </span><a href="OpenDAL.html#parseCString"><span class="hs-identifier hs-var">parseCString</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060423"><span class="hs-identifier hs-var">contentDisposition</span></a></span><span>
-</span><span id="line-307"></span><span>  </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679060410"><span class="annot"><span class="annottext">contentLength' :: Integer
-</span><a href="#local-6989586621679060410"><span class="hs-identifier hs-var hs-var">contentLength'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall a. Integral a =&gt; a -&gt; Integer
+</span><a href="#local-6989586621679060849"><span class="hs-identifier hs-var">contentDisposition</span></a></span><span>
+</span><span id="line-307"></span><span>  </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679060836"><span class="annot"><span class="annottext">contentLength' :: Integer
+</span><a href="#local-6989586621679060836"><span class="hs-identifier hs-var hs-var">contentLength'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall a. Integral a =&gt; a -&gt; Integer
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">toInteger</span></a></span><span> </span><span class="annot"><span class="annottext">CULong
-</span><a href="#local-6989586621679060422"><span class="hs-identifier hs-var">contentLength</span></a></span><span>
-</span><span id="line-308"></span><span>  </span><span id="local-6989586621679060409"><span class="annot"><span class="annottext">Maybe String
-</span><a href="#local-6989586621679060409"><span class="hs-identifier hs-var">contentMD5'</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO (Maybe String)
+</span><a href="#local-6989586621679060848"><span class="hs-identifier hs-var">contentLength</span></a></span><span>
+</span><span id="line-308"></span><span>  </span><span id="local-6989586621679060835"><span class="annot"><span class="annottext">Maybe String
+</span><a href="#local-6989586621679060835"><span class="hs-identifier hs-var">contentMD5'</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO (Maybe String)
 </span><a href="OpenDAL.html#parseCString"><span class="hs-identifier hs-var">parseCString</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060421"><span class="hs-identifier hs-var">contentMD5</span></a></span><span>
-</span><span id="line-309"></span><span>  </span><span id="local-6989586621679060408"><span class="annot"><span class="annottext">Maybe String
-</span><a href="#local-6989586621679060408"><span class="hs-identifier hs-var">contentType'</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO (Maybe String)
+</span><a href="#local-6989586621679060847"><span class="hs-identifier hs-var">contentMD5</span></a></span><span>
+</span><span id="line-309"></span><span>  </span><span id="local-6989586621679060834"><span class="annot"><span class="annottext">Maybe String
+</span><a href="#local-6989586621679060834"><span class="hs-identifier hs-var">contentType'</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO (Maybe String)
 </span><a href="OpenDAL.html#parseCString"><span class="hs-identifier hs-var">parseCString</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060420"><span class="hs-identifier hs-var">contentType</span></a></span><span>
-</span><span id="line-310"></span><span>  </span><span id="local-6989586621679060407"><span class="annot"><span class="annottext">Maybe String
-</span><a href="#local-6989586621679060407"><span class="hs-identifier hs-var">eTag'</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO (Maybe String)
+</span><a href="#local-6989586621679060846"><span class="hs-identifier hs-var">contentType</span></a></span><span>
+</span><span id="line-310"></span><span>  </span><span id="local-6989586621679060833"><span class="annot"><span class="annottext">Maybe String
+</span><a href="#local-6989586621679060833"><span class="hs-identifier hs-var">eTag'</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO (Maybe String)
 </span><a href="OpenDAL.html#parseCString"><span class="hs-identifier hs-var">parseCString</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060419"><span class="hs-identifier hs-var">eTag</span></a></span><span>
-</span><span id="line-311"></span><span>  </span><span id="local-6989586621679060406"><span class="annot"><span class="annottext">Maybe UTCTime
-</span><a href="#local-6989586621679060406"><span class="hs-identifier hs-var">lastModified'</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a b. Monad m =&gt; m a -&gt; (a -&gt; m b) -&gt; m b
+</span><a href="#local-6989586621679060845"><span class="hs-identifier hs-var">eTag</span></a></span><span>
+</span><span id="line-311"></span><span>  </span><span id="local-6989586621679060832"><span class="annot"><span class="annottext">Maybe UTCTime
+</span><a href="#local-6989586621679060832"><span class="hs-identifier hs-var">lastModified'</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a b. Monad m =&gt; m a -&gt; (a -&gt; m b) -&gt; m b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">&gt;&gt;=</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; Maybe UTCTime
 </span><a href="OpenDAL.html#parseTime"><span class="hs-identifier hs-var">parseTime</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">&lt;$&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO (Maybe String)
 </span><a href="OpenDAL.html#parseCString"><span class="hs-identifier hs-var">parseCString</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060418"><span class="hs-identifier hs-var">lastModified</span></a></span><span>
+</span><a href="#local-6989586621679060844"><span class="hs-identifier hs-var">lastModified</span></a></span><span>
 </span><span id="line-312"></span><span>  </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span>
 </span><span id="line-313"></span><span>    </span><span class="annot"><a href="OpenDAL.html#Metadata"><span class="hs-identifier hs-type">Metadata</span></a></span><span>
 </span><span id="line-314"></span><span>      </span><span class="hs-special">{</span><span> </span><span class="annot"><span class="annottext">mMode :: EntryMode
 </span><a href="OpenDAL.html#mMode"><span class="hs-identifier hs-var">mMode</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">EntryMode
-</span><a href="#local-6989586621679060415"><span class="hs-identifier hs-var">mode'</span></a></span><span class="hs-special">,</span><span>
+</span><a href="#local-6989586621679060841"><span class="hs-identifier hs-var">mode'</span></a></span><span class="hs-special">,</span><span>
 </span><span id="line-315"></span><span>        </span><span class="annot"><span class="annottext">mCacheControl :: Maybe String
 </span><a href="OpenDAL.html#mCacheControl"><span class="hs-identifier hs-var">mCacheControl</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Maybe String
-</span><a href="#local-6989586621679060414"><span class="hs-identifier hs-var">cacheControl'</span></a></span><span class="hs-special">,</span><span>
+</span><a href="#local-6989586621679060840"><span class="hs-identifier hs-var">cacheControl'</span></a></span><span class="hs-special">,</span><span>
 </span><span id="line-316"></span><span>        </span><span class="annot"><span class="annottext">mContentDisposition :: Maybe String
 </span><a href="OpenDAL.html#mContentDisposition"><span class="hs-identifier hs-var">mContentDisposition</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Maybe String
-</span><a href="#local-6989586621679060413"><span class="hs-identifier hs-var">contentDisposition'</span></a></span><span class="hs-special">,</span><span>
+</span><a href="#local-6989586621679060839"><span class="hs-identifier hs-var">contentDisposition'</span></a></span><span class="hs-special">,</span><span>
 </span><span id="line-317"></span><span>        </span><span class="annot"><span class="annottext">mContentLength :: Integer
 </span><a href="OpenDAL.html#mContentLength"><span class="hs-identifier hs-var">mContentLength</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer
-</span><a href="#local-6989586621679060410"><span class="hs-identifier hs-var">contentLength'</span></a></span><span class="hs-special">,</span><span>
+</span><a href="#local-6989586621679060836"><span class="hs-identifier hs-var">contentLength'</span></a></span><span class="hs-special">,</span><span>
 </span><span id="line-318"></span><span>        </span><span class="annot"><span class="annottext">mContentMD5 :: Maybe String
 </span><a href="OpenDAL.html#mContentMD5"><span class="hs-identifier hs-var">mContentMD5</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Maybe String
-</span><a href="#local-6989586621679060409"><span class="hs-identifier hs-var">contentMD5'</span></a></span><span class="hs-special">,</span><span>
+</span><a href="#local-6989586621679060835"><span class="hs-identifier hs-var">contentMD5'</span></a></span><span class="hs-special">,</span><span>
 </span><span id="line-319"></span><span>        </span><span class="annot"><span class="annottext">mContentType :: Maybe String
 </span><a href="OpenDAL.html#mContentType"><span class="hs-identifier hs-var">mContentType</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Maybe String
-</span><a href="#local-6989586621679060408"><span class="hs-identifier hs-var">contentType'</span></a></span><span class="hs-special">,</span><span>
+</span><a href="#local-6989586621679060834"><span class="hs-identifier hs-var">contentType'</span></a></span><span class="hs-special">,</span><span>
 </span><span id="line-320"></span><span>        </span><span class="annot"><span class="annottext">mETag :: Maybe String
 </span><a href="OpenDAL.html#mETag"><span class="hs-identifier hs-var">mETag</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Maybe String
-</span><a href="#local-6989586621679060407"><span class="hs-identifier hs-var">eTag'</span></a></span><span class="hs-special">,</span><span>
+</span><a href="#local-6989586621679060833"><span class="hs-identifier hs-var">eTag'</span></a></span><span class="hs-special">,</span><span>
 </span><span id="line-321"></span><span>        </span><span class="annot"><span class="annottext">mLastModified :: Maybe UTCTime
 </span><a href="OpenDAL.html#mLastModified"><span class="hs-identifier hs-var">mLastModified</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Maybe UTCTime
-</span><a href="#local-6989586621679060406"><span class="hs-identifier hs-var">lastModified'</span></a></span><span>
+</span><a href="#local-6989586621679060832"><span class="hs-identifier hs-var">lastModified'</span></a></span><span>
 </span><span id="line-322"></span><span>      </span><span class="hs-special">}</span><span>
 </span><span id="line-323"></span><span>
 </span><span id="line-324"></span><span class="hs-comment">-- Exported functions</span><span>
@@ -814,16 +814,16 @@ Bool -&gt; TimeLocale -&gt; String -&gt; String -&gt; m t
 </span><span id="line-342"></span><span class="hs-comment">-- @</span><span>
 </span><span id="line-343"></span><span class="hs-comment">-- runOp operator operation</span><span>
 </span><span id="line-344"></span><span class="hs-comment">-- @</span><span>
-</span><span id="line-345"></span><span id="local-6989586621679061143"><span id="local-6989586621679061144"><span class="annot"><a href="OpenDAL.html#runOp"><span class="hs-identifier hs-type">runOp</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="OpenDAL.html#Operator"><span class="hs-identifier hs-type">Operator</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="OpenDAL.ht [...]
+</span><span id="line-345"></span><span id="local-6989586621679061569"><span id="local-6989586621679061570"><span class="annot"><a href="OpenDAL.html#runOp"><span class="hs-identifier hs-type">runOp</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="OpenDAL.html#Operator"><span class="hs-identifier hs-type">Operator</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="OpenDAL.ht [...]
 </span><span id="line-346"></span><span id="runOp"><span class="annot"><span class="annottext">runOp :: forall (m :: * -&gt; *) a.
 Operator -&gt; OperatorT m a -&gt; m (Either OpenDALError a)
-</span><a href="OpenDAL.html#runOp"><span class="hs-identifier hs-var hs-var">runOp</span></a></span></span><span> </span><span id="local-6989586621679060405"><span class="annot"><span class="annottext">Operator
-</span><a href="#local-6989586621679060405"><span class="hs-identifier hs-var">op</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall e (m :: * -&gt; *) a. ExceptT e m a -&gt; m (Either e a)
+</span><a href="OpenDAL.html#runOp"><span class="hs-identifier hs-var hs-var">runOp</span></a></span></span><span> </span><span id="local-6989586621679060831"><span class="annot"><span class="annottext">Operator
+</span><a href="#local-6989586621679060831"><span class="hs-identifier hs-var">op</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall e (m :: * -&gt; *) a. ExceptT e m a -&gt; m (Either e a)
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/transformers-0.5.6.2/src"><span class="hs-identifier hs-var">runExceptT</span></a></span><span> </span><span class="annot"><span class="annottext">forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b c. (a -&gt; b -&gt; c) -&gt; b -&gt; a -&gt; c
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">flip</span></a></span><span> </span><span class="annot"><span class="annottext">forall r (m :: * -&gt; *) a. ReaderT r m a -&gt; r -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/transformers-0.5.6.2/src"><span class="hs-identifier hs-var">runReaderT</span></a></span><span> </span><span class="annot"><span class="annottext">Operator
-</span><a href="#local-6989586621679060405"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
+</span><a href="#local-6989586621679060831"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a.
 OperatorT m a -&gt; ReaderT Operator (ExceptT OpenDALError m) a
 </span><a href="OpenDAL.html#runOperatorT"><span class="hs-identifier hs-var">runOperatorT</span></a></span><span>
@@ -832,76 +832,76 @@ OperatorT m a -&gt; ReaderT Operator (ExceptT OpenDALError m) a
 </span><span id="line-349"></span><span class="hs-comment">-- | Creates a new OpenDAL operator via `OperatorConfig`.</span><span>
 </span><span id="line-350"></span><span class="annot"><a href="OpenDAL.html#newOperator"><span class="hs-identifier hs-type">newOperator</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="OpenDAL.html#OperatorConfig"><span class="hs-identifier hs-type">OperatorConfig</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/ht [...]
 </span><span id="line-351"></span><span id="newOperator"><span class="annot"><span class="annottext">newOperator :: OperatorConfig -&gt; IO (Either OpenDALError Operator)
-</span><a href="OpenDAL.html#newOperator"><span class="hs-identifier hs-var hs-var">newOperator</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="OpenDAL.html#OperatorConfig"><span class="hs-identifier hs-type">OperatorConfig</span></a></span><span> </span><span id="local-6989586621679060403"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060403"><span class="hs-identifier hs-var">scheme</span></a></span></span><span> </span><span id="local-6989586621679060402"><span class="annot"><span class="annottext">HashMap String String
-</span><a href="#local-6989586621679060402"><span class="hs-identifier hs-var">hashMap</span></a></span></span><span> </span><span id="local-6989586621679060401"><span class="annot"><span class="annottext">Maybe (LogAction IO Message)
-</span><a href="#local-6989586621679060401"><span class="hs-identifier hs-var">maybeLogger</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
-</span><span id="line-352"></span><span>  </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679060400"><span class="annot"><span class="annottext">keysAndValues :: [(String, String)]
-</span><a href="#local-6989586621679060400"><span class="hs-identifier hs-var hs-var">keysAndValues</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall k v. HashMap k v -&gt; [(k, v)]
+</span><a href="OpenDAL.html#newOperator"><span class="hs-identifier hs-var hs-var">newOperator</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="OpenDAL.html#OperatorConfig"><span class="hs-identifier hs-type">OperatorConfig</span></a></span><span> </span><span id="local-6989586621679060829"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060829"><span class="hs-identifier hs-var">scheme</span></a></span></span><span> </span><span id="local-6989586621679060828"><span class="annot"><span class="annottext">HashMap String String
+</span><a href="#local-6989586621679060828"><span class="hs-identifier hs-var">hashMap</span></a></span></span><span> </span><span id="local-6989586621679060827"><span class="annot"><span class="annottext">Maybe (LogAction IO Message)
+</span><a href="#local-6989586621679060827"><span class="hs-identifier hs-var">maybeLogger</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
+</span><span id="line-352"></span><span>  </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679060826"><span class="annot"><span class="annottext">keysAndValues :: [(String, String)]
+</span><a href="#local-6989586621679060826"><span class="hs-identifier hs-var hs-var">keysAndValues</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall k v. HashMap k v -&gt; [(k, v)]
 </span><span class="hs-identifier hs-var">HashMap.toList</span></span><span> </span><span class="annot"><span class="annottext">HashMap String String
-</span><a href="#local-6989586621679060402"><span class="hs-identifier hs-var">hashMap</span></a></span><span>
+</span><a href="#local-6989586621679060828"><span class="hs-identifier hs-var">hashMap</span></a></span><span>
 </span><span id="line-353"></span><span>  </span><span class="annot"><span class="annottext">forall a. String -&gt; (CString -&gt; IO a) -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">withCString</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060403"><span class="hs-identifier hs-var">scheme</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060397"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060397"><span class="hs-identifier hs-var">cScheme</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
+</span><a href="#local-6989586621679060829"><span class="hs-identifier hs-var">scheme</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060823"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060823"><span class="hs-identifier hs-var">cScheme</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
 </span><span id="line-354"></span><span>    </span><span class="annot"><span class="annottext">forall a b res.
 (a -&gt; (b -&gt; res) -&gt; res) -&gt; [a] -&gt; ([b] -&gt; res) -&gt; res
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">withMany</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. String -&gt; (CString -&gt; IO a) -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">withCString</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a, b) -&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">fst</span></a></span><span> </span><span class="annot"><span class="annottext">[(String, String)]
-</span><a href="#local-6989586621679060400"><span class="hs-identifier hs-var">keysAndValues</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060395"><span class="annot"><span class="annottext">[CString]
-</span><a href="#local-6989586621679060395"><span class="hs-identifier hs-var">cKeys</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
+</span><a href="#local-6989586621679060826"><span class="hs-identifier hs-var">keysAndValues</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060821"><span class="annot"><span class="annottext">[CString]
+</span><a href="#local-6989586621679060821"><span class="hs-identifier hs-var">cKeys</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
 </span><span id="line-355"></span><span>      </span><span class="annot"><span class="annottext">forall a b res.
 (a -&gt; (b -&gt; res) -&gt; res) -&gt; [a] -&gt; ([b] -&gt; res) -&gt; res
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">withMany</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. String -&gt; (CString -&gt; IO a) -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">withCString</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a, b) -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">snd</span></a></span><span> </span><span class="annot"><span class="annottext">[(String, String)]
-</span><a href="#local-6989586621679060400"><span class="hs-identifier hs-var">keysAndValues</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060394"><span class="annot"><span class="annottext">[CString]
-</span><a href="#local-6989586621679060394"><span class="hs-identifier hs-var">cValues</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
+</span><a href="#local-6989586621679060826"><span class="hs-identifier hs-var">keysAndValues</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060820"><span class="annot"><span class="annottext">[CString]
+</span><a href="#local-6989586621679060820"><span class="hs-identifier hs-var">cValues</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
 </span><span id="line-356"></span><span>        </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Int -&gt; (Ptr a -&gt; IO b) -&gt; IO b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">allocaArray</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall (t :: * -&gt; *) a. Foldable t =&gt; t a -&gt; Int
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">length</span></a></span><span> </span><span class="annot"><span class="annottext">[(String, String)]
-</span><a href="#local-6989586621679060400"><span class="hs-identifier hs-var">keysAndValues</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060391"><span class="annot"><span class="annottext">Ptr CString
-</span><a href="#local-6989586621679060391"><span class="hs-identifier hs-var">cKeysPtr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
+</span><a href="#local-6989586621679060826"><span class="hs-identifier hs-var">keysAndValues</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060817"><span class="annot"><span class="annottext">Ptr CString
+</span><a href="#local-6989586621679060817"><span class="hs-identifier hs-var">cKeysPtr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
 </span><span id="line-357"></span><span>          </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; Int -&gt; (Ptr a -&gt; IO b) -&gt; IO b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">allocaArray</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall (t :: * -&gt; *) a. Foldable t =&gt; t a -&gt; Int
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">length</span></a></span><span> </span><span class="annot"><span class="annottext">[(String, String)]
-</span><a href="#local-6989586621679060400"><span class="hs-identifier hs-var">keysAndValues</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060390"><span class="annot"><span class="annottext">Ptr CString
-</span><a href="#local-6989586621679060390"><span class="hs-identifier hs-var">cValuesPtr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
+</span><a href="#local-6989586621679060826"><span class="hs-identifier hs-var">keysAndValues</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060816"><span class="annot"><span class="annottext">Ptr CString
+</span><a href="#local-6989586621679060816"><span class="hs-identifier hs-var">cValuesPtr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
 </span><span id="line-358"></span><span>            </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; (Ptr a -&gt; IO b) -&gt; IO b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">alloca</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060388"><span class="annot"><span class="annottext">Ptr (FFIResult RawOperator)
-</span><a href="#local-6989586621679060388"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
-</span><span id="line-359"></span><span>              </span><span id="local-6989586621679060387"><span class="annot"><span class="annottext">FunPtr (CUInt -&gt; CString -&gt; IO ())
-</span><a href="#local-6989586621679060387"><span class="hs-identifier hs-var">logFnPtr</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Maybe (LogAction IO Message)
-</span><a href="#local-6989586621679060401"><span class="hs-identifier hs-var">maybeLogger</span></a></span><span> </span><span class="hs-keyword">of</span><span>
-</span><span id="line-360"></span><span>                </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span id="local-6989586621679060386"><span class="annot"><span class="annottext">LogAction IO Message
-</span><a href="#local-6989586621679060386"><span class="hs-identifier hs-var">logger</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">(CUInt -&gt; CString -&gt; IO ())
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060814"><span class="annot"><span class="annottext">Ptr (FFIResult RawOperator)
+</span><a href="#local-6989586621679060814"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
+</span><span id="line-359"></span><span>              </span><span id="local-6989586621679060813"><span class="annot"><span class="annottext">FunPtr (CUInt -&gt; CString -&gt; IO ())
+</span><a href="#local-6989586621679060813"><span class="hs-identifier hs-var">logFnPtr</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Maybe (LogAction IO Message)
+</span><a href="#local-6989586621679060827"><span class="hs-identifier hs-var">maybeLogger</span></a></span><span> </span><span class="hs-keyword">of</span><span>
+</span><span id="line-360"></span><span>                </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span id="local-6989586621679060812"><span class="annot"><span class="annottext">LogAction IO Message
+</span><a href="#local-6989586621679060812"><span class="hs-identifier hs-var">logger</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">(CUInt -&gt; CString -&gt; IO ())
 -&gt; IO (FunPtr (CUInt -&gt; CString -&gt; IO ()))
 </span><a href="OpenDAL.FFI.html#wrapLogFn"><span class="hs-identifier hs-var">wrapLogFn</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall {a} {sev}.
 (Integral a, Enum sev) =&gt;
 LogAction IO (Msg sev) -&gt; a -&gt; CString -&gt; IO ()
-</span><a href="#local-6989586621679060384"><span class="hs-identifier hs-var">logFn</span></a></span><span> </span><span class="annot"><span class="annottext">LogAction IO Message
-</span><a href="#local-6989586621679060386"><span class="hs-identifier hs-var">logger</span></a></span><span class="hs-special">)</span><span>
+</span><a href="#local-6989586621679060810"><span class="hs-identifier hs-var">logFn</span></a></span><span> </span><span class="annot"><span class="annottext">LogAction IO Message
+</span><a href="#local-6989586621679060812"><span class="hs-identifier hs-var">logger</span></a></span><span class="hs-special">)</span><span>
 </span><span id="line-361"></span><span>                </span><span class="annot"><span class="annottext">Maybe (LogAction IO Message)
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">Nothing</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. FunPtr a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">nullFunPtr</span></a></span><span>
 </span><span id="line-362"></span><span>              </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; Ptr a -&gt; [a] -&gt; IO ()
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">pokeArray</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr CString
-</span><a href="#local-6989586621679060391"><span class="hs-identifier hs-var">cKeysPtr</span></a></span><span> </span><span class="annot"><span class="annottext">[CString]
-</span><a href="#local-6989586621679060395"><span class="hs-identifier hs-var">cKeys</span></a></span><span>
+</span><a href="#local-6989586621679060817"><span class="hs-identifier hs-var">cKeysPtr</span></a></span><span> </span><span class="annot"><span class="annottext">[CString]
+</span><a href="#local-6989586621679060821"><span class="hs-identifier hs-var">cKeys</span></a></span><span>
 </span><span id="line-363"></span><span>              </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; Ptr a -&gt; [a] -&gt; IO ()
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">pokeArray</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr CString
-</span><a href="#local-6989586621679060390"><span class="hs-identifier hs-var">cValuesPtr</span></a></span><span> </span><span class="annot"><span class="annottext">[CString]
-</span><a href="#local-6989586621679060394"><span class="hs-identifier hs-var">cValues</span></a></span><span>
+</span><a href="#local-6989586621679060816"><span class="hs-identifier hs-var">cValuesPtr</span></a></span><span> </span><span class="annot"><span class="annottext">[CString]
+</span><a href="#local-6989586621679060820"><span class="hs-identifier hs-var">cValues</span></a></span><span>
 </span><span id="line-364"></span><span>              </span><span class="annot"><span class="annottext">CString
 -&gt; Ptr CString
 -&gt; Ptr CString
@@ -910,80 +910,80 @@ LogAction IO (Msg sev) -&gt; a -&gt; CString -&gt; IO ()
 -&gt; Ptr (FFIResult RawOperator)
 -&gt; IO ()
 </span><a href="OpenDAL.FFI.html#c_via_map_ffi"><span class="hs-identifier hs-var">c_via_map_ffi</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060397"><span class="hs-identifier hs-var">cScheme</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr CString
-</span><a href="#local-6989586621679060391"><span class="hs-identifier hs-var">cKeysPtr</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr CString
-</span><a href="#local-6989586621679060390"><span class="hs-identifier hs-var">cValuesPtr</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a b. (Integral a, Num b) =&gt; a -&gt; b
+</span><a href="#local-6989586621679060823"><span class="hs-identifier hs-var">cScheme</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr CString
+</span><a href="#local-6989586621679060817"><span class="hs-identifier hs-var">cKeysPtr</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr CString
+</span><a href="#local-6989586621679060816"><span class="hs-identifier hs-var">cValuesPtr</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a b. (Integral a, Num b) =&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall (t :: * -&gt; *) a. Foldable t =&gt; t a -&gt; Int
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">length</span></a></span><span> </span><span class="annot"><span class="annottext">[(String, String)]
-</span><a href="#local-6989586621679060400"><span class="hs-identifier hs-var">keysAndValues</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">FunPtr (CUInt -&gt; CString -&gt; IO ())
-</span><a href="#local-6989586621679060387"><span class="hs-identifier hs-var">logFnPtr</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult RawOperator)
-</span><a href="#local-6989586621679060388"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
-</span><span id="line-365"></span><span>              </span><span id="local-6989586621679060380"><span class="annot"><span class="annottext">FFIResult RawOperator
-</span><a href="#local-6989586621679060380"><span class="hs-identifier hs-var">ffiResult</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; Ptr a -&gt; IO a
+</span><a href="#local-6989586621679060826"><span class="hs-identifier hs-var">keysAndValues</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">FunPtr (CUInt -&gt; CString -&gt; IO ())
+</span><a href="#local-6989586621679060813"><span class="hs-identifier hs-var">logFnPtr</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult RawOperator)
+</span><a href="#local-6989586621679060814"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
+</span><span id="line-365"></span><span>              </span><span id="local-6989586621679060806"><span class="annot"><span class="annottext">FFIResult RawOperator
+</span><a href="#local-6989586621679060806"><span class="hs-identifier hs-var">ffiResult</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; Ptr a -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peek</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult RawOperator)
-</span><a href="#local-6989586621679060388"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
+</span><a href="#local-6989586621679060814"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
 </span><span id="line-366"></span><span>              </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; CUInt
 </span><a href="OpenDAL.FFI.html#ffiCode"><span class="hs-identifier hs-var">ffiCode</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult RawOperator
-</span><a href="#local-6989586621679060380"><span class="hs-identifier hs-var">ffiResult</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Eq a =&gt; a -&gt; a -&gt; Bool
+</span><a href="#local-6989586621679060806"><span class="hs-identifier hs-var">ffiResult</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Eq a =&gt; a -&gt; a -&gt; Bool
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/ghc-prim-0.8.0/src"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">CUInt
 </span><span class="hs-number">0</span></span><span>
 </span><span id="line-367"></span><span>                </span><span class="hs-keyword">then</span><span> </span><span class="hs-keyword">do</span><span>
-</span><span id="line-368"></span><span>                  </span><span id="local-6989586621679060377"><span class="annot"><span class="annottext">Operator
-</span><a href="#local-6989586621679060377"><span class="hs-identifier hs-var">op</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">ForeignPtr RawOperator -&gt; Operator
+</span><span id="line-368"></span><span>                  </span><span id="local-6989586621679060803"><span class="annot"><span class="annottext">Operator
+</span><a href="#local-6989586621679060803"><span class="hs-identifier hs-var">op</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">ForeignPtr RawOperator -&gt; Operator
 </span><a href="OpenDAL.html#Operator"><span class="hs-identifier hs-var">Operator</span></a></span><span> </span><span class="annot"><span class="annottext">forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">&lt;$&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. FinalizerPtr a -&gt; Ptr a -&gt; IO (ForeignPtr a)
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">newForeignPtr</span></a></span><span> </span><span class="annot"><span class="annottext">FunPtr (Ptr RawOperator -&gt; IO ())
 </span><a href="OpenDAL.FFI.html#c_free_operator"><span class="hs-identifier hs-var">c_free_operator</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; Ptr a
 </span><a href="OpenDAL.FFI.html#dataPtr"><span class="hs-identifier hs-var">dataPtr</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult RawOperator
-</span><a href="#local-6989586621679060380"><span class="hs-identifier hs-var">ffiResult</span></a></span><span class="hs-special">)</span><span>
+</span><a href="#local-6989586621679060806"><span class="hs-identifier hs-var">ffiResult</span></a></span><span class="hs-special">)</span><span>
 </span><span id="line-369"></span><span>                  </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. b -&gt; Either a b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">Right</span></a></span><span> </span><span class="annot"><span class="annottext">Operator
-</span><a href="#local-6989586621679060377"><span class="hs-identifier hs-var">op</span></a></span><span>
+</span><a href="#local-6989586621679060803"><span class="hs-identifier hs-var">op</span></a></span><span>
 </span><span id="line-370"></span><span>                </span><span class="hs-keyword">else</span><span> </span><span class="hs-keyword">do</span><span>
-</span><span id="line-371"></span><span>                  </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679060371"><span class="annot"><span class="annottext">code :: ErrorCode
-</span><a href="#local-6989586621679060371"><span class="hs-identifier hs-var hs-var">code</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; ErrorCode
+</span><span id="line-371"></span><span>                  </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679060797"><span class="annot"><span class="annottext">code :: ErrorCode
+</span><a href="#local-6989586621679060797"><span class="hs-identifier hs-var hs-var">code</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; ErrorCode
 </span><a href="OpenDAL.html#parseErrorCode"><span class="hs-identifier hs-var">parseErrorCode</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (Integral a, Num b) =&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; CUInt
 </span><a href="OpenDAL.FFI.html#ffiCode"><span class="hs-identifier hs-var">ffiCode</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult RawOperator
-</span><a href="#local-6989586621679060380"><span class="hs-identifier hs-var">ffiResult</span></a></span><span>
-</span><span id="line-372"></span><span>                  </span><span id="local-6989586621679060370"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060370"><span class="hs-identifier hs-var">errMsg</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO String
+</span><a href="#local-6989586621679060806"><span class="hs-identifier hs-var">ffiResult</span></a></span><span>
+</span><span id="line-372"></span><span>                  </span><span id="local-6989586621679060796"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060796"><span class="hs-identifier hs-var">errMsg</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO String
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peekCString</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; CString
 </span><a href="OpenDAL.FFI.html#errorMessage"><span class="hs-identifier hs-var">errorMessage</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult RawOperator
-</span><a href="#local-6989586621679060380"><span class="hs-identifier hs-var">ffiResult</span></a></span><span class="hs-special">)</span><span>
+</span><a href="#local-6989586621679060806"><span class="hs-identifier hs-var">ffiResult</span></a></span><span class="hs-special">)</span><span>
 </span><span id="line-373"></span><span>                  </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. a -&gt; Either a b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">Left</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">ErrorCode -&gt; String -&gt; OpenDALError
 </span><a href="OpenDAL.html#OpenDALError"><span class="hs-identifier hs-var">OpenDALError</span></a></span><span> </span><span class="annot"><span class="annottext">ErrorCode
-</span><a href="#local-6989586621679060371"><span class="hs-identifier hs-var">code</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060370"><span class="hs-identifier hs-var">errMsg</span></a></span><span>
+</span><a href="#local-6989586621679060797"><span class="hs-identifier hs-var">code</span></a></span><span> </span><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060796"><span class="hs-identifier hs-var">errMsg</span></a></span><span>
 </span><span id="line-374"></span><span>  </span><span class="hs-keyword">where</span><span>
-</span><span id="line-375"></span><span>    </span><span id="local-6989586621679060384"><span class="annot"><span class="annottext">logFn :: LogAction IO (Msg sev) -&gt; a -&gt; CString -&gt; IO ()
-</span><a href="#local-6989586621679060384"><span class="hs-identifier hs-var hs-var">logFn</span></a></span></span><span> </span><span id="local-6989586621679060362"><span class="annot"><span class="annottext">LogAction IO (Msg sev)
-</span><a href="#local-6989586621679060362"><span class="hs-identifier hs-var">logger</span></a></span></span><span> </span><span id="local-6989586621679060361"><span class="annot"><span class="annottext">a
-</span><a href="#local-6989586621679060361"><span class="hs-identifier hs-var">enumSeverity</span></a></span></span><span> </span><span id="local-6989586621679060360"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060360"><span class="hs-identifier hs-var">cStr</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
-</span><span id="line-376"></span><span>      </span><span id="local-6989586621679060359"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060359"><span class="hs-identifier hs-var">str</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO String
+</span><span id="line-375"></span><span>    </span><span id="local-6989586621679060810"><span class="annot"><span class="annottext">logFn :: LogAction IO (Msg sev) -&gt; a -&gt; CString -&gt; IO ()
+</span><a href="#local-6989586621679060810"><span class="hs-identifier hs-var hs-var">logFn</span></a></span></span><span> </span><span id="local-6989586621679060788"><span class="annot"><span class="annottext">LogAction IO (Msg sev)
+</span><a href="#local-6989586621679060788"><span class="hs-identifier hs-var">logger</span></a></span></span><span> </span><span id="local-6989586621679060787"><span class="annot"><span class="annottext">a
+</span><a href="#local-6989586621679060787"><span class="hs-identifier hs-var">enumSeverity</span></a></span></span><span> </span><span id="local-6989586621679060786"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060786"><span class="hs-identifier hs-var">cStr</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
+</span><span id="line-376"></span><span>      </span><span id="local-6989586621679060785"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060785"><span class="hs-identifier hs-var">str</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO String
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peekCString</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060360"><span class="hs-identifier hs-var">cStr</span></a></span><span>
+</span><a href="#local-6989586621679060786"><span class="hs-identifier hs-var">cStr</span></a></span><span>
 </span><span id="line-377"></span><span>      </span><span class="annot"><span class="annottext">LogAction IO (Msg sev)
-</span><a href="#local-6989586621679060362"><span class="hs-identifier hs-var">logger</span></a></span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) msg. LogAction m msg -&gt; msg -&gt; m ()
+</span><a href="#local-6989586621679060788"><span class="hs-identifier hs-var">logger</span></a></span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) msg. LogAction m msg -&gt; msg -&gt; m ()
 </span><span class="hs-operator hs-var">&lt;&amp;</span></span><span> </span><span class="annot"><span class="annottext">forall sev. sev -&gt; CallStack -&gt; Text -&gt; Msg sev
 </span><span class="hs-identifier hs-var">Msg</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. Enum a =&gt; Int -&gt; a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">toEnum</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a b. (Integral a, Num b) =&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="annot"><span class="annottext">a
-</span><a href="#local-6989586621679060361"><span class="hs-identifier hs-var">enumSeverity</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">CallStack
+</span><a href="#local-6989586621679060787"><span class="hs-identifier hs-var">enumSeverity</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">CallStack
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">emptyCallStack</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; Text
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/text-1.2.5.0/src"><span class="hs-identifier hs-var">pack</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060359"><span class="hs-identifier hs-var">str</span></a></span><span class="hs-special">)</span><span>
+</span><a href="#local-6989586621679060785"><span class="hs-identifier hs-var">str</span></a></span><span class="hs-special">)</span><span>
 </span><span id="line-378"></span><span>
 </span><span id="line-379"></span><span class="hs-comment">-- $raw-operations</span><span>
 </span><span id="line-380"></span><span class="hs-comment">-- Functions for performing raw OpenDAL operations are defined below.</span><span>
@@ -993,123 +993,123 @@ LogAction IO (Msg sev) -&gt; a -&gt; CString -&gt; IO ()
 </span><span id="line-384"></span><span class="hs-comment">-- | Read the whole path into a bytes.</span><span>
 </span><span id="line-385"></span><span class="annot"><a href="OpenDAL.html#readOpRaw"><span class="hs-identifier hs-type">readOpRaw</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="OpenDAL.html#Operator"><span class="hs-identifier hs-type">Operator</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/bas [...]
 </span><span id="line-386"></span><span id="readOpRaw"><span class="annot"><span class="annottext">readOpRaw :: Operator -&gt; String -&gt; IO (Either OpenDALError ByteString)
-</span><a href="OpenDAL.html#readOpRaw"><span class="hs-identifier hs-var hs-var">readOpRaw</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="OpenDAL.html#Operator"><span class="hs-identifier hs-type">Operator</span></a></span><span> </span><span id="local-6989586621679060357"><span class="annot"><span class="annottext">ForeignPtr RawOperator
-</span><a href="#local-6989586621679060357"><span class="hs-identifier hs-var">op</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679060356"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060356"><span class="hs-identifier hs-var">path</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall a b. ForeignPtr a -&gt; (Ptr a -&gt; IO b) -&gt; IO b
+</span><a href="OpenDAL.html#readOpRaw"><span class="hs-identifier hs-var hs-var">readOpRaw</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="OpenDAL.html#Operator"><span class="hs-identifier hs-type">Operator</span></a></span><span> </span><span id="local-6989586621679060783"><span class="annot"><span class="annottext">ForeignPtr RawOperator
+</span><a href="#local-6989586621679060783"><span class="hs-identifier hs-var">op</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679060782"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060782"><span class="hs-identifier hs-var">path</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall a b. ForeignPtr a -&gt; (Ptr a -&gt; IO b) -&gt; IO b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">withForeignPtr</span></a></span><span> </span><span class="annot"><span class="annottext">ForeignPtr RawOperator
-</span><a href="#local-6989586621679060357"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060354"><span class="annot"><span class="annottext">Ptr RawOperator
-</span><a href="#local-6989586621679060354"><span class="hs-identifier hs-var">opptr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
+</span><a href="#local-6989586621679060783"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060780"><span class="annot"><span class="annottext">Ptr RawOperator
+</span><a href="#local-6989586621679060780"><span class="hs-identifier hs-var">opptr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
 </span><span id="line-387"></span><span>  </span><span class="annot"><span class="annottext">forall a. String -&gt; (CString -&gt; IO a) -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">withCString</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060356"><span class="hs-identifier hs-var">path</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060353"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060353"><span class="hs-identifier hs-var">cPath</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
+</span><a href="#local-6989586621679060782"><span class="hs-identifier hs-var">path</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060779"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060779"><span class="hs-identifier hs-var">cPath</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
 </span><span id="line-388"></span><span>    </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; (Ptr a -&gt; IO b) -&gt; IO b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">alloca</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060352"><span class="annot"><span class="annottext">Ptr (FFIResult ByteSlice)
-</span><a href="#local-6989586621679060352"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060778"><span class="annot"><span class="annottext">Ptr (FFIResult ByteSlice)
+</span><a href="#local-6989586621679060778"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
 </span><span id="line-389"></span><span>      </span><span class="annot"><span class="annottext">Ptr RawOperator -&gt; CString -&gt; Ptr (FFIResult ByteSlice) -&gt; IO ()
 </span><a href="OpenDAL.FFI.html#c_blocking_read"><span class="hs-identifier hs-var">c_blocking_read</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr RawOperator
-</span><a href="#local-6989586621679060354"><span class="hs-identifier hs-var">opptr</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060353"><span class="hs-identifier hs-var">cPath</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult ByteSlice)
-</span><a href="#local-6989586621679060352"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
-</span><span id="line-390"></span><span>      </span><span id="local-6989586621679060350"><span class="annot"><span class="annottext">FFIResult ByteSlice
-</span><a href="#local-6989586621679060350"><span class="hs-identifier hs-var">ffiResult</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; Ptr a -&gt; IO a
+</span><a href="#local-6989586621679060780"><span class="hs-identifier hs-var">opptr</span></a></span><span> </span><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060779"><span class="hs-identifier hs-var">cPath</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult ByteSlice)
+</span><a href="#local-6989586621679060778"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
+</span><span id="line-390"></span><span>      </span><span id="local-6989586621679060776"><span class="annot"><span class="annottext">FFIResult ByteSlice
+</span><a href="#local-6989586621679060776"><span class="hs-identifier hs-var">ffiResult</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; Ptr a -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peek</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult ByteSlice)
-</span><a href="#local-6989586621679060352"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
+</span><a href="#local-6989586621679060778"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
 </span><span id="line-391"></span><span>      </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; CUInt
 </span><a href="OpenDAL.FFI.html#ffiCode"><span class="hs-identifier hs-var">ffiCode</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult ByteSlice
-</span><a href="#local-6989586621679060350"><span class="hs-identifier hs-var">ffiResult</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Eq a =&gt; a -&gt; a -&gt; Bool
+</span><a href="#local-6989586621679060776"><span class="hs-identifier hs-var">ffiResult</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Eq a =&gt; a -&gt; a -&gt; Bool
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/ghc-prim-0.8.0/src"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">CUInt
 </span><span class="hs-number">0</span></span><span>
 </span><span id="line-392"></span><span>        </span><span class="hs-keyword">then</span><span> </span><span class="hs-keyword">do</span><span>
-</span><span id="line-393"></span><span>          </span><span id="local-6989586621679060349"><span class="annot"><span class="annottext">ByteSlice
-</span><a href="#local-6989586621679060349"><span class="hs-identifier hs-var">byteslice</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; Ptr a -&gt; IO a
+</span><span id="line-393"></span><span>          </span><span id="local-6989586621679060775"><span class="annot"><span class="annottext">ByteSlice
+</span><a href="#local-6989586621679060775"><span class="hs-identifier hs-var">byteslice</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; Ptr a -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peek</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; Ptr a
 </span><a href="OpenDAL.FFI.html#dataPtr"><span class="hs-identifier hs-var">dataPtr</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult ByteSlice
-</span><a href="#local-6989586621679060350"><span class="hs-identifier hs-var">ffiResult</span></a></span><span>
-</span><span id="line-394"></span><span>          </span><span id="local-6989586621679060348"><span class="annot"><span class="annottext">ByteString
-</span><a href="#local-6989586621679060348"><span class="hs-identifier hs-var">byte</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">ByteSlice -&gt; IO ByteString
+</span><a href="#local-6989586621679060776"><span class="hs-identifier hs-var">ffiResult</span></a></span><span>
+</span><span id="line-394"></span><span>          </span><span id="local-6989586621679060774"><span class="annot"><span class="annottext">ByteString
+</span><a href="#local-6989586621679060774"><span class="hs-identifier hs-var">byte</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">ByteSlice -&gt; IO ByteString
 </span><a href="OpenDAL.html#byteSliceToByteString"><span class="hs-identifier hs-var">byteSliceToByteString</span></a></span><span> </span><span class="annot"><span class="annottext">ByteSlice
-</span><a href="#local-6989586621679060349"><span class="hs-identifier hs-var">byteslice</span></a></span><span>
+</span><a href="#local-6989586621679060775"><span class="hs-identifier hs-var">byteslice</span></a></span><span>
 </span><span id="line-395"></span><span>          </span><span class="annot"><span class="annottext">CString -&gt; CSize -&gt; IO ()
 </span><a href="OpenDAL.FFI.html#c_free_byteslice"><span class="hs-identifier hs-var">c_free_byteslice</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteSlice -&gt; CString
 </span><a href="OpenDAL.FFI.html#bsData"><span class="hs-identifier hs-var">bsData</span></a></span><span> </span><span class="annot"><span class="annottext">ByteSlice
-</span><a href="#local-6989586621679060349"><span class="hs-identifier hs-var">byteslice</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteSlice -&gt; CSize
+</span><a href="#local-6989586621679060775"><span class="hs-identifier hs-var">byteslice</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteSlice -&gt; CSize
 </span><a href="OpenDAL.FFI.html#bsLen"><span class="hs-identifier hs-var">bsLen</span></a></span><span> </span><span class="annot"><span class="annottext">ByteSlice
-</span><a href="#local-6989586621679060349"><span class="hs-identifier hs-var">byteslice</span></a></span><span class="hs-special">)</span><span>
+</span><a href="#local-6989586621679060775"><span class="hs-identifier hs-var">byteslice</span></a></span><span class="hs-special">)</span><span>
 </span><span id="line-396"></span><span>          </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. b -&gt; Either a b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">Right</span></a></span><span> </span><span class="annot"><span class="annottext">ByteString
-</span><a href="#local-6989586621679060348"><span class="hs-identifier hs-var">byte</span></a></span><span>
+</span><a href="#local-6989586621679060774"><span class="hs-identifier hs-var">byte</span></a></span><span>
 </span><span id="line-397"></span><span>        </span><span class="hs-keyword">else</span><span> </span><span class="hs-keyword">do</span><span>
-</span><span id="line-398"></span><span>          </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679060342"><span class="annot"><span class="annottext">code :: ErrorCode
-</span><a href="#local-6989586621679060342"><span class="hs-identifier hs-var hs-var">code</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; ErrorCode
+</span><span id="line-398"></span><span>          </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679060768"><span class="annot"><span class="annottext">code :: ErrorCode
+</span><a href="#local-6989586621679060768"><span class="hs-identifier hs-var hs-var">code</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; ErrorCode
 </span><a href="OpenDAL.html#parseErrorCode"><span class="hs-identifier hs-var">parseErrorCode</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (Integral a, Num b) =&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; CUInt
 </span><a href="OpenDAL.FFI.html#ffiCode"><span class="hs-identifier hs-var">ffiCode</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult ByteSlice
-</span><a href="#local-6989586621679060350"><span class="hs-identifier hs-var">ffiResult</span></a></span><span>
-</span><span id="line-399"></span><span>          </span><span id="local-6989586621679060341"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060341"><span class="hs-identifier hs-var">errMsg</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO String
+</span><a href="#local-6989586621679060776"><span class="hs-identifier hs-var">ffiResult</span></a></span><span>
+</span><span id="line-399"></span><span>          </span><span id="local-6989586621679060767"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060767"><span class="hs-identifier hs-var">errMsg</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO String
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peekCString</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; CString
 </span><a href="OpenDAL.FFI.html#errorMessage"><span class="hs-identifier hs-var">errorMessage</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult ByteSlice
-</span><a href="#local-6989586621679060350"><span class="hs-identifier hs-var">ffiResult</span></a></span><span class="hs-special">)</span><span>
+</span><a href="#local-6989586621679060776"><span class="hs-identifier hs-var">ffiResult</span></a></span><span class="hs-special">)</span><span>
 </span><span id="line-400"></span><span>          </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. a -&gt; Either a b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">Left</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">ErrorCode -&gt; String -&gt; OpenDALError
 </span><a href="OpenDAL.html#OpenDALError"><span class="hs-identifier hs-var">OpenDALError</span></a></span><span> </span><span class="annot"><span class="annottext">ErrorCode
-</span><a href="#local-6989586621679060342"><span class="hs-identifier hs-var">code</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060341"><span class="hs-identifier hs-var">errMsg</span></a></span><span>
+</span><a href="#local-6989586621679060768"><span class="hs-identifier hs-var">code</span></a></span><span> </span><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060767"><span class="hs-identifier hs-var">errMsg</span></a></span><span>
 </span><span id="line-401"></span><span>
 </span><span id="line-402"></span><span class="hs-comment">-- | Write bytes into given path.</span><span>
 </span><span id="line-403"></span><span class="annot"><a href="OpenDAL.html#writeOpRaw"><span class="hs-identifier hs-type">writeOpRaw</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="OpenDAL.html#Operator"><span class="hs-identifier hs-type">Operator</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/b [...]
 </span><span id="line-404"></span><span id="writeOpRaw"><span class="annot"><span class="annottext">writeOpRaw :: Operator -&gt; String -&gt; ByteString -&gt; IO (Either OpenDALError ())
-</span><a href="OpenDAL.html#writeOpRaw"><span class="hs-identifier hs-var hs-var">writeOpRaw</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="OpenDAL.html#Operator"><span class="hs-identifier hs-type">Operator</span></a></span><span> </span><span id="local-6989586621679060340"><span class="annot"><span class="annottext">ForeignPtr RawOperator
-</span><a href="#local-6989586621679060340"><span class="hs-identifier hs-var">op</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679060339"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060339"><span class="hs-identifier hs-var">path</span></a></span></span><span> </span><span id="local-6989586621679060338"><span class="annot"><span class="annottext">ByteString
-</span><a href="#local-6989586621679060338"><span class="hs-identifier hs-var">byte</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall a b. ForeignPtr a -&gt; (Ptr a -&gt; IO b) -&gt; IO b
+</span><a href="OpenDAL.html#writeOpRaw"><span class="hs-identifier hs-var hs-var">writeOpRaw</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="OpenDAL.html#Operator"><span class="hs-identifier hs-type">Operator</span></a></span><span> </span><span id="local-6989586621679060766"><span class="annot"><span class="annottext">ForeignPtr RawOperator
+</span><a href="#local-6989586621679060766"><span class="hs-identifier hs-var">op</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679060765"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060765"><span class="hs-identifier hs-var">path</span></a></span></span><span> </span><span id="local-6989586621679060764"><span class="annot"><span class="annottext">ByteString
+</span><a href="#local-6989586621679060764"><span class="hs-identifier hs-var">byte</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall a b. ForeignPtr a -&gt; (Ptr a -&gt; IO b) -&gt; IO b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">withForeignPtr</span></a></span><span> </span><span class="annot"><span class="annottext">ForeignPtr RawOperator
-</span><a href="#local-6989586621679060340"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060337"><span class="annot"><span class="annottext">Ptr RawOperator
-</span><a href="#local-6989586621679060337"><span class="hs-identifier hs-var">opptr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
+</span><a href="#local-6989586621679060766"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060763"><span class="annot"><span class="annottext">Ptr RawOperator
+</span><a href="#local-6989586621679060763"><span class="hs-identifier hs-var">opptr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
 </span><span id="line-405"></span><span>  </span><span class="annot"><span class="annottext">forall a. String -&gt; (CString -&gt; IO a) -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">withCString</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060339"><span class="hs-identifier hs-var">path</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060336"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060336"><span class="hs-identifier hs-var">cPath</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
+</span><a href="#local-6989586621679060765"><span class="hs-identifier hs-var">path</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060762"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060762"><span class="hs-identifier hs-var">cPath</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
 </span><span id="line-406"></span><span>    </span><span class="annot"><span class="annottext">forall a. ByteString -&gt; (CStringLen -&gt; IO a) -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/bytestring-0.11.4.0/src"><span class="hs-identifier hs-var">BS.useAsCStringLen</span></a></span><span> </span><span class="annot"><span class="annottext">ByteString
-</span><a href="#local-6989586621679060338"><span class="hs-identifier hs-var">byte</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span class="hs-special">(</span><span id="local-6989586621679060334"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060334"><span class="hs-identifier hs-var">cByte</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679060333"><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679060333"><span class="hs-identifier hs-var">len</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span>
+</span><a href="#local-6989586621679060764"><span class="hs-identifier hs-var">byte</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span class="hs-special">(</span><span id="local-6989586621679060760"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060760"><span class="hs-identifier hs-var">cByte</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679060759"><span class="annot"><span class="annottext">Int
+</span><a href="#local-6989586621679060759"><span class="hs-identifier hs-var">len</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span>
 </span><span id="line-407"></span><span>      </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; (Ptr a -&gt; IO b) -&gt; IO b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">alloca</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060332"><span class="annot"><span class="annottext">Ptr (FFIResult ())
-</span><a href="#local-6989586621679060332"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060758"><span class="annot"><span class="annottext">Ptr (FFIResult ())
+</span><a href="#local-6989586621679060758"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
 </span><span id="line-408"></span><span>        </span><span class="annot"><span class="annottext">Ptr RawOperator
 -&gt; CString -&gt; CString -&gt; CSize -&gt; Ptr (FFIResult ()) -&gt; IO ()
 </span><a href="OpenDAL.FFI.html#c_blocking_write"><span class="hs-identifier hs-var">c_blocking_write</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr RawOperator
-</span><a href="#local-6989586621679060337"><span class="hs-identifier hs-var">opptr</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060336"><span class="hs-identifier hs-var">cPath</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060334"><span class="hs-identifier hs-var">cByte</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a b. (Integral a, Num b) =&gt; a -&gt; b
+</span><a href="#local-6989586621679060763"><span class="hs-identifier hs-var">opptr</span></a></span><span> </span><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060762"><span class="hs-identifier hs-var">cPath</span></a></span><span> </span><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060760"><span class="hs-identifier hs-var">cByte</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a b. (Integral a, Num b) =&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="annot"><span class="annottext">Int
-</span><a href="#local-6989586621679060333"><span class="hs-identifier hs-var">len</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult ())
-</span><a href="#local-6989586621679060332"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
-</span><span id="line-409"></span><span>        </span><span id="local-6989586621679060330"><span class="annot"><span class="annottext">FFIResult ()
-</span><a href="#local-6989586621679060330"><span class="hs-identifier hs-var">ffiResult</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; Ptr a -&gt; IO a
+</span><a href="#local-6989586621679060759"><span class="hs-identifier hs-var">len</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult ())
+</span><a href="#local-6989586621679060758"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
+</span><span id="line-409"></span><span>        </span><span id="local-6989586621679060756"><span class="annot"><span class="annottext">FFIResult ()
+</span><a href="#local-6989586621679060756"><span class="hs-identifier hs-var">ffiResult</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; Ptr a -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peek</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult ())
-</span><a href="#local-6989586621679060332"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
+</span><a href="#local-6989586621679060758"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
 </span><span id="line-410"></span><span>        </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; CUInt
 </span><a href="OpenDAL.FFI.html#ffiCode"><span class="hs-identifier hs-var">ffiCode</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult ()
-</span><a href="#local-6989586621679060330"><span class="hs-identifier hs-var">ffiResult</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Eq a =&gt; a -&gt; a -&gt; Bool
+</span><a href="#local-6989586621679060756"><span class="hs-identifier hs-var">ffiResult</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Eq a =&gt; a -&gt; a -&gt; Bool
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/ghc-prim-0.8.0/src"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">CUInt
 </span><span class="hs-number">0</span></span><span>
 </span><span id="line-411"></span><span>          </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
@@ -1117,132 +1117,132 @@ LogAction IO (Msg sev) -&gt; a -&gt; CString -&gt; IO ()
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. b -&gt; Either a b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">Right</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
 </span><span id="line-412"></span><span>          </span><span class="hs-keyword">else</span><span> </span><span class="hs-keyword">do</span><span>
-</span><span id="line-413"></span><span>            </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679060327"><span class="annot"><span class="annottext">code :: ErrorCode
-</span><a href="#local-6989586621679060327"><span class="hs-identifier hs-var hs-var">code</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; ErrorCode
+</span><span id="line-413"></span><span>            </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679060753"><span class="annot"><span class="annottext">code :: ErrorCode
+</span><a href="#local-6989586621679060753"><span class="hs-identifier hs-var hs-var">code</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; ErrorCode
 </span><a href="OpenDAL.html#parseErrorCode"><span class="hs-identifier hs-var">parseErrorCode</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (Integral a, Num b) =&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; CUInt
 </span><a href="OpenDAL.FFI.html#ffiCode"><span class="hs-identifier hs-var">ffiCode</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult ()
-</span><a href="#local-6989586621679060330"><span class="hs-identifier hs-var">ffiResult</span></a></span><span>
-</span><span id="line-414"></span><span>            </span><span id="local-6989586621679060326"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060326"><span class="hs-identifier hs-var">errMsg</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO String
+</span><a href="#local-6989586621679060756"><span class="hs-identifier hs-var">ffiResult</span></a></span><span>
+</span><span id="line-414"></span><span>            </span><span id="local-6989586621679060752"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060752"><span class="hs-identifier hs-var">errMsg</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO String
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peekCString</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; CString
 </span><a href="OpenDAL.FFI.html#errorMessage"><span class="hs-identifier hs-var">errorMessage</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult ()
-</span><a href="#local-6989586621679060330"><span class="hs-identifier hs-var">ffiResult</span></a></span><span class="hs-special">)</span><span>
+</span><a href="#local-6989586621679060756"><span class="hs-identifier hs-var">ffiResult</span></a></span><span class="hs-special">)</span><span>
 </span><span id="line-415"></span><span>            </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. a -&gt; Either a b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">Left</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">ErrorCode -&gt; String -&gt; OpenDALError
 </span><a href="OpenDAL.html#OpenDALError"><span class="hs-identifier hs-var">OpenDALError</span></a></span><span> </span><span class="annot"><span class="annottext">ErrorCode
-</span><a href="#local-6989586621679060327"><span class="hs-identifier hs-var">code</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060326"><span class="hs-identifier hs-var">errMsg</span></a></span><span>
+</span><a href="#local-6989586621679060753"><span class="hs-identifier hs-var">code</span></a></span><span> </span><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060752"><span class="hs-identifier hs-var">errMsg</span></a></span><span>
 </span><span id="line-416"></span><span>
 </span><span id="line-417"></span><span class="hs-comment">-- | Check if this path exists or not.</span><span>
 </span><span id="line-418"></span><span class="annot"><a href="OpenDAL.html#isExistOpRaw"><span class="hs-identifier hs-type">isExistOpRaw</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="OpenDAL.html#Operator"><span class="hs-identifier hs-type">Operator</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/librari [...]
 </span><span id="line-419"></span><span id="isExistOpRaw"><span class="annot"><span class="annottext">isExistOpRaw :: Operator -&gt; String -&gt; IO (Either OpenDALError Bool)
-</span><a href="OpenDAL.html#isExistOpRaw"><span class="hs-identifier hs-var hs-var">isExistOpRaw</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="OpenDAL.html#Operator"><span class="hs-identifier hs-type">Operator</span></a></span><span> </span><span id="local-6989586621679060325"><span class="annot"><span class="annottext">ForeignPtr RawOperator
-</span><a href="#local-6989586621679060325"><span class="hs-identifier hs-var">op</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679060324"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060324"><span class="hs-identifier hs-var">path</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall a b. ForeignPtr a -&gt; (Ptr a -&gt; IO b) -&gt; IO b
+</span><a href="OpenDAL.html#isExistOpRaw"><span class="hs-identifier hs-var hs-var">isExistOpRaw</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="OpenDAL.html#Operator"><span class="hs-identifier hs-type">Operator</span></a></span><span> </span><span id="local-6989586621679060751"><span class="annot"><span class="annottext">ForeignPtr RawOperator
+</span><a href="#local-6989586621679060751"><span class="hs-identifier hs-var">op</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679060750"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060750"><span class="hs-identifier hs-var">path</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall a b. ForeignPtr a -&gt; (Ptr a -&gt; IO b) -&gt; IO b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">withForeignPtr</span></a></span><span> </span><span class="annot"><span class="annottext">ForeignPtr RawOperator
-</span><a href="#local-6989586621679060325"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060323"><span class="annot"><span class="annottext">Ptr RawOperator
-</span><a href="#local-6989586621679060323"><span class="hs-identifier hs-var">opptr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
+</span><a href="#local-6989586621679060751"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060749"><span class="annot"><span class="annottext">Ptr RawOperator
+</span><a href="#local-6989586621679060749"><span class="hs-identifier hs-var">opptr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
 </span><span id="line-420"></span><span>  </span><span class="annot"><span class="annottext">forall a. String -&gt; (CString -&gt; IO a) -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">withCString</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060324"><span class="hs-identifier hs-var">path</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060322"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060322"><span class="hs-identifier hs-var">cPath</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
+</span><a href="#local-6989586621679060750"><span class="hs-identifier hs-var">path</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060748"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060748"><span class="hs-identifier hs-var">cPath</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
 </span><span id="line-421"></span><span>    </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; (Ptr a -&gt; IO b) -&gt; IO b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">alloca</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060321"><span class="annot"><span class="annottext">Ptr (FFIResult CBool)
-</span><a href="#local-6989586621679060321"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060747"><span class="annot"><span class="annottext">Ptr (FFIResult CBool)
+</span><a href="#local-6989586621679060747"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
 </span><span id="line-422"></span><span>      </span><span class="annot"><span class="annottext">Ptr RawOperator -&gt; CString -&gt; Ptr (FFIResult CBool) -&gt; IO ()
 </span><a href="OpenDAL.FFI.html#c_blocking_is_exist"><span class="hs-identifier hs-var">c_blocking_is_exist</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr RawOperator
-</span><a href="#local-6989586621679060323"><span class="hs-identifier hs-var">opptr</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060322"><span class="hs-identifier hs-var">cPath</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult CBool)
-</span><a href="#local-6989586621679060321"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
-</span><span id="line-423"></span><span>      </span><span id="local-6989586621679060319"><span class="annot"><span class="annottext">FFIResult CBool
-</span><a href="#local-6989586621679060319"><span class="hs-identifier hs-var">ffiResult</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; Ptr a -&gt; IO a
+</span><a href="#local-6989586621679060749"><span class="hs-identifier hs-var">opptr</span></a></span><span> </span><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060748"><span class="hs-identifier hs-var">cPath</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult CBool)
+</span><a href="#local-6989586621679060747"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
+</span><span id="line-423"></span><span>      </span><span id="local-6989586621679060745"><span class="annot"><span class="annottext">FFIResult CBool
+</span><a href="#local-6989586621679060745"><span class="hs-identifier hs-var">ffiResult</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; Ptr a -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peek</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult CBool)
-</span><a href="#local-6989586621679060321"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
+</span><a href="#local-6989586621679060747"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
 </span><span id="line-424"></span><span>      </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; CUInt
 </span><a href="OpenDAL.FFI.html#ffiCode"><span class="hs-identifier hs-var">ffiCode</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult CBool
-</span><a href="#local-6989586621679060319"><span class="hs-identifier hs-var">ffiResult</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Eq a =&gt; a -&gt; a -&gt; Bool
+</span><a href="#local-6989586621679060745"><span class="hs-identifier hs-var">ffiResult</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Eq a =&gt; a -&gt; a -&gt; Bool
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/ghc-prim-0.8.0/src"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">CUInt
 </span><span class="hs-number">0</span></span><span>
 </span><span id="line-425"></span><span>        </span><span class="hs-keyword">then</span><span> </span><span class="hs-keyword">do</span><span>
-</span><span id="line-426"></span><span>          </span><span id="local-6989586621679060318"><span class="annot"><span class="annottext">CBool
-</span><a href="#local-6989586621679060318"><span class="hs-identifier hs-var">val</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; Ptr a -&gt; IO a
+</span><span id="line-426"></span><span>          </span><span id="local-6989586621679060744"><span class="annot"><span class="annottext">CBool
+</span><a href="#local-6989586621679060744"><span class="hs-identifier hs-var">val</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; Ptr a -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peek</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; Ptr a
 </span><a href="OpenDAL.FFI.html#dataPtr"><span class="hs-identifier hs-var">dataPtr</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult CBool
-</span><a href="#local-6989586621679060319"><span class="hs-identifier hs-var">ffiResult</span></a></span><span>
-</span><span id="line-427"></span><span>          </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679060313"><span class="annot"><span class="annottext">isExist :: Bool
-</span><a href="#local-6989586621679060313"><span class="hs-identifier hs-var hs-var">isExist</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CBool
-</span><a href="#local-6989586621679060318"><span class="hs-identifier hs-var">val</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Eq a =&gt; a -&gt; a -&gt; Bool
+</span><a href="#local-6989586621679060745"><span class="hs-identifier hs-var">ffiResult</span></a></span><span>
+</span><span id="line-427"></span><span>          </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679060739"><span class="annot"><span class="annottext">isExist :: Bool
+</span><a href="#local-6989586621679060739"><span class="hs-identifier hs-var hs-var">isExist</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CBool
+</span><a href="#local-6989586621679060744"><span class="hs-identifier hs-var">val</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Eq a =&gt; a -&gt; a -&gt; Bool
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/ghc-prim-0.8.0/src"><span class="hs-operator hs-var">/=</span></a></span><span> </span><span class="annot"><span class="annottext">CBool
 </span><span class="hs-number">0</span></span><span>
 </span><span id="line-428"></span><span>          </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. b -&gt; Either a b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">Right</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
-</span><a href="#local-6989586621679060313"><span class="hs-identifier hs-var">isExist</span></a></span><span>
+</span><a href="#local-6989586621679060739"><span class="hs-identifier hs-var">isExist</span></a></span><span>
 </span><span id="line-429"></span><span>        </span><span class="hs-keyword">else</span><span> </span><span class="hs-keyword">do</span><span>
-</span><span id="line-430"></span><span>          </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679060309"><span class="annot"><span class="annottext">code :: ErrorCode
-</span><a href="#local-6989586621679060309"><span class="hs-identifier hs-var hs-var">code</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; ErrorCode
+</span><span id="line-430"></span><span>          </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679060735"><span class="annot"><span class="annottext">code :: ErrorCode
+</span><a href="#local-6989586621679060735"><span class="hs-identifier hs-var hs-var">code</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; ErrorCode
 </span><a href="OpenDAL.html#parseErrorCode"><span class="hs-identifier hs-var">parseErrorCode</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (Integral a, Num b) =&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; CUInt
 </span><a href="OpenDAL.FFI.html#ffiCode"><span class="hs-identifier hs-var">ffiCode</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult CBool
-</span><a href="#local-6989586621679060319"><span class="hs-identifier hs-var">ffiResult</span></a></span><span>
-</span><span id="line-431"></span><span>          </span><span id="local-6989586621679060308"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060308"><span class="hs-identifier hs-var">errMsg</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO String
+</span><a href="#local-6989586621679060745"><span class="hs-identifier hs-var">ffiResult</span></a></span><span>
+</span><span id="line-431"></span><span>          </span><span id="local-6989586621679060734"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060734"><span class="hs-identifier hs-var">errMsg</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO String
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peekCString</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; CString
 </span><a href="OpenDAL.FFI.html#errorMessage"><span class="hs-identifier hs-var">errorMessage</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult CBool
-</span><a href="#local-6989586621679060319"><span class="hs-identifier hs-var">ffiResult</span></a></span><span class="hs-special">)</span><span>
+</span><a href="#local-6989586621679060745"><span class="hs-identifier hs-var">ffiResult</span></a></span><span class="hs-special">)</span><span>
 </span><span id="line-432"></span><span>          </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. a -&gt; Either a b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">Left</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">ErrorCode -&gt; String -&gt; OpenDALError
 </span><a href="OpenDAL.html#OpenDALError"><span class="hs-identifier hs-var">OpenDALError</span></a></span><span> </span><span class="annot"><span class="annottext">ErrorCode
-</span><a href="#local-6989586621679060309"><span class="hs-identifier hs-var">code</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060308"><span class="hs-identifier hs-var">errMsg</span></a></span><span>
+</span><a href="#local-6989586621679060735"><span class="hs-identifier hs-var">code</span></a></span><span> </span><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060734"><span class="hs-identifier hs-var">errMsg</span></a></span><span>
 </span><span id="line-433"></span><span>
 </span><span id="line-434"></span><span class="hs-comment">-- | Create a dir at given path.</span><span>
 </span><span id="line-435"></span><span class="annot"><a href="OpenDAL.html#createDirOpRaw"><span class="hs-identifier hs-type">createDirOpRaw</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="OpenDAL.html#Operator"><span class="hs-identifier hs-type">Operator</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/lib [...]
 </span><span id="line-436"></span><span id="createDirOpRaw"><span class="annot"><span class="annottext">createDirOpRaw :: Operator -&gt; String -&gt; IO (Either OpenDALError ())
-</span><a href="OpenDAL.html#createDirOpRaw"><span class="hs-identifier hs-var hs-var">createDirOpRaw</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="OpenDAL.html#Operator"><span class="hs-identifier hs-type">Operator</span></a></span><span> </span><span id="local-6989586621679060307"><span class="annot"><span class="annottext">ForeignPtr RawOperator
-</span><a href="#local-6989586621679060307"><span class="hs-identifier hs-var">op</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679060306"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060306"><span class="hs-identifier hs-var">path</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall a b. ForeignPtr a -&gt; (Ptr a -&gt; IO b) -&gt; IO b
+</span><a href="OpenDAL.html#createDirOpRaw"><span class="hs-identifier hs-var hs-var">createDirOpRaw</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="OpenDAL.html#Operator"><span class="hs-identifier hs-type">Operator</span></a></span><span> </span><span id="local-6989586621679060733"><span class="annot"><span class="annottext">ForeignPtr RawOperator
+</span><a href="#local-6989586621679060733"><span class="hs-identifier hs-var">op</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679060732"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060732"><span class="hs-identifier hs-var">path</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall a b. ForeignPtr a -&gt; (Ptr a -&gt; IO b) -&gt; IO b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">withForeignPtr</span></a></span><span> </span><span class="annot"><span class="annottext">ForeignPtr RawOperator
-</span><a href="#local-6989586621679060307"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060305"><span class="annot"><span class="annottext">Ptr RawOperator
-</span><a href="#local-6989586621679060305"><span class="hs-identifier hs-var">opptr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
+</span><a href="#local-6989586621679060733"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060731"><span class="annot"><span class="annottext">Ptr RawOperator
+</span><a href="#local-6989586621679060731"><span class="hs-identifier hs-var">opptr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
 </span><span id="line-437"></span><span>  </span><span class="annot"><span class="annottext">forall a. String -&gt; (CString -&gt; IO a) -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">withCString</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060306"><span class="hs-identifier hs-var">path</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060304"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060304"><span class="hs-identifier hs-var">cPath</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
+</span><a href="#local-6989586621679060732"><span class="hs-identifier hs-var">path</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060730"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060730"><span class="hs-identifier hs-var">cPath</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
 </span><span id="line-438"></span><span>    </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; (Ptr a -&gt; IO b) -&gt; IO b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">alloca</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060303"><span class="annot"><span class="annottext">Ptr (FFIResult ())
-</span><a href="#local-6989586621679060303"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060729"><span class="annot"><span class="annottext">Ptr (FFIResult ())
+</span><a href="#local-6989586621679060729"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
 </span><span id="line-439"></span><span>      </span><span class="annot"><span class="annottext">Ptr RawOperator -&gt; CString -&gt; Ptr (FFIResult ()) -&gt; IO ()
 </span><a href="OpenDAL.FFI.html#c_blocking_create_dir"><span class="hs-identifier hs-var">c_blocking_create_dir</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr RawOperator
-</span><a href="#local-6989586621679060305"><span class="hs-identifier hs-var">opptr</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060304"><span class="hs-identifier hs-var">cPath</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult ())
-</span><a href="#local-6989586621679060303"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
-</span><span id="line-440"></span><span>      </span><span id="local-6989586621679060301"><span class="annot"><span class="annottext">FFIResult ()
-</span><a href="#local-6989586621679060301"><span class="hs-identifier hs-var">ffiResult</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; Ptr a -&gt; IO a
+</span><a href="#local-6989586621679060731"><span class="hs-identifier hs-var">opptr</span></a></span><span> </span><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060730"><span class="hs-identifier hs-var">cPath</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult ())
+</span><a href="#local-6989586621679060729"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
+</span><span id="line-440"></span><span>      </span><span id="local-6989586621679060727"><span class="annot"><span class="annottext">FFIResult ()
+</span><a href="#local-6989586621679060727"><span class="hs-identifier hs-var">ffiResult</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; Ptr a -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peek</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult ())
-</span><a href="#local-6989586621679060303"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
+</span><a href="#local-6989586621679060729"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
 </span><span id="line-441"></span><span>      </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; CUInt
 </span><a href="OpenDAL.FFI.html#ffiCode"><span class="hs-identifier hs-var">ffiCode</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult ()
-</span><a href="#local-6989586621679060301"><span class="hs-identifier hs-var">ffiResult</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Eq a =&gt; a -&gt; a -&gt; Bool
+</span><a href="#local-6989586621679060727"><span class="hs-identifier hs-var">ffiResult</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Eq a =&gt; a -&gt; a -&gt; Bool
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/ghc-prim-0.8.0/src"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">CUInt
 </span><span class="hs-number">0</span></span><span>
 </span><span id="line-442"></span><span>        </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
@@ -1250,67 +1250,67 @@ LogAction IO (Msg sev) -&gt; a -&gt; CString -&gt; IO ()
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. b -&gt; Either a b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">Right</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
 </span><span id="line-443"></span><span>        </span><span class="hs-keyword">else</span><span> </span><span class="hs-keyword">do</span><span>
-</span><span id="line-444"></span><span>          </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679060298"><span class="annot"><span class="annottext">code :: ErrorCode
-</span><a href="#local-6989586621679060298"><span class="hs-identifier hs-var hs-var">code</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; ErrorCode
+</span><span id="line-444"></span><span>          </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679060724"><span class="annot"><span class="annottext">code :: ErrorCode
+</span><a href="#local-6989586621679060724"><span class="hs-identifier hs-var hs-var">code</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; ErrorCode
 </span><a href="OpenDAL.html#parseErrorCode"><span class="hs-identifier hs-var">parseErrorCode</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (Integral a, Num b) =&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; CUInt
 </span><a href="OpenDAL.FFI.html#ffiCode"><span class="hs-identifier hs-var">ffiCode</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult ()
-</span><a href="#local-6989586621679060301"><span class="hs-identifier hs-var">ffiResult</span></a></span><span>
-</span><span id="line-445"></span><span>          </span><span id="local-6989586621679060297"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060297"><span class="hs-identifier hs-var">errMsg</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO String
+</span><a href="#local-6989586621679060727"><span class="hs-identifier hs-var">ffiResult</span></a></span><span>
+</span><span id="line-445"></span><span>          </span><span id="local-6989586621679060723"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060723"><span class="hs-identifier hs-var">errMsg</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO String
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peekCString</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; CString
 </span><a href="OpenDAL.FFI.html#errorMessage"><span class="hs-identifier hs-var">errorMessage</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult ()
-</span><a href="#local-6989586621679060301"><span class="hs-identifier hs-var">ffiResult</span></a></span><span class="hs-special">)</span><span>
+</span><a href="#local-6989586621679060727"><span class="hs-identifier hs-var">ffiResult</span></a></span><span class="hs-special">)</span><span>
 </span><span id="line-446"></span><span>          </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. a -&gt; Either a b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">Left</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">ErrorCode -&gt; String -&gt; OpenDALError
 </span><a href="OpenDAL.html#OpenDALError"><span class="hs-identifier hs-var">OpenDALError</span></a></span><span> </span><span class="annot"><span class="annottext">ErrorCode
-</span><a href="#local-6989586621679060298"><span class="hs-identifier hs-var">code</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060297"><span class="hs-identifier hs-var">errMsg</span></a></span><span>
+</span><a href="#local-6989586621679060724"><span class="hs-identifier hs-var">code</span></a></span><span> </span><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060723"><span class="hs-identifier hs-var">errMsg</span></a></span><span>
 </span><span id="line-447"></span><span>
 </span><span id="line-448"></span><span class="hs-comment">-- | Copy a file from srcPath to dstPath.</span><span>
 </span><span id="line-449"></span><span class="annot"><a href="OpenDAL.html#copyOpRaw"><span class="hs-identifier hs-type">copyOpRaw</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="OpenDAL.html#Operator"><span class="hs-identifier hs-type">Operator</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/bas [...]
 </span><span id="line-450"></span><span id="copyOpRaw"><span class="annot"><span class="annottext">copyOpRaw :: Operator -&gt; String -&gt; String -&gt; IO (Either OpenDALError ())
-</span><a href="OpenDAL.html#copyOpRaw"><span class="hs-identifier hs-var hs-var">copyOpRaw</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="OpenDAL.html#Operator"><span class="hs-identifier hs-type">Operator</span></a></span><span> </span><span id="local-6989586621679060296"><span class="annot"><span class="annottext">ForeignPtr RawOperator
-</span><a href="#local-6989586621679060296"><span class="hs-identifier hs-var">op</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679060295"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060295"><span class="hs-identifier hs-var">srcPath</span></a></span></span><span> </span><span id="local-6989586621679060294"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060294"><span class="hs-identifier hs-var">dstPath</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall a b. ForeignPtr a -&gt; (Ptr a -&gt; IO b) -&gt; IO b
+</span><a href="OpenDAL.html#copyOpRaw"><span class="hs-identifier hs-var hs-var">copyOpRaw</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="OpenDAL.html#Operator"><span class="hs-identifier hs-type">Operator</span></a></span><span> </span><span id="local-6989586621679060722"><span class="annot"><span class="annottext">ForeignPtr RawOperator
+</span><a href="#local-6989586621679060722"><span class="hs-identifier hs-var">op</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679060721"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060721"><span class="hs-identifier hs-var">srcPath</span></a></span></span><span> </span><span id="local-6989586621679060720"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060720"><span class="hs-identifier hs-var">dstPath</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall a b. ForeignPtr a -&gt; (Ptr a -&gt; IO b) -&gt; IO b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">withForeignPtr</span></a></span><span> </span><span class="annot"><span class="annottext">ForeignPtr RawOperator
-</span><a href="#local-6989586621679060296"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060293"><span class="annot"><span class="annottext">Ptr RawOperator
-</span><a href="#local-6989586621679060293"><span class="hs-identifier hs-var">opptr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
+</span><a href="#local-6989586621679060722"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060719"><span class="annot"><span class="annottext">Ptr RawOperator
+</span><a href="#local-6989586621679060719"><span class="hs-identifier hs-var">opptr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
 </span><span id="line-451"></span><span>  </span><span class="annot"><span class="annottext">forall a. String -&gt; (CString -&gt; IO a) -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">withCString</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060295"><span class="hs-identifier hs-var">srcPath</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060292"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060292"><span class="hs-identifier hs-var">cSrcPath</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
+</span><a href="#local-6989586621679060721"><span class="hs-identifier hs-var">srcPath</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060718"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060718"><span class="hs-identifier hs-var">cSrcPath</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
 </span><span id="line-452"></span><span>    </span><span class="annot"><span class="annottext">forall a. String -&gt; (CString -&gt; IO a) -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">withCString</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060294"><span class="hs-identifier hs-var">dstPath</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060291"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060291"><span class="hs-identifier hs-var">cDstPath</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
+</span><a href="#local-6989586621679060720"><span class="hs-identifier hs-var">dstPath</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060717"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060717"><span class="hs-identifier hs-var">cDstPath</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
 </span><span id="line-453"></span><span>      </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; (Ptr a -&gt; IO b) -&gt; IO b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">alloca</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060290"><span class="annot"><span class="annottext">Ptr (FFIResult ())
-</span><a href="#local-6989586621679060290"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060716"><span class="annot"><span class="annottext">Ptr (FFIResult ())
+</span><a href="#local-6989586621679060716"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
 </span><span id="line-454"></span><span>        </span><span class="annot"><span class="annottext">Ptr RawOperator
 -&gt; CString -&gt; CString -&gt; Ptr (FFIResult ()) -&gt; IO ()
 </span><a href="OpenDAL.FFI.html#c_blocking_copy"><span class="hs-identifier hs-var">c_blocking_copy</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr RawOperator
-</span><a href="#local-6989586621679060293"><span class="hs-identifier hs-var">opptr</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060292"><span class="hs-identifier hs-var">cSrcPath</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060291"><span class="hs-identifier hs-var">cDstPath</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult ())
-</span><a href="#local-6989586621679060290"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
-</span><span id="line-455"></span><span>        </span><span id="local-6989586621679060288"><span class="annot"><span class="annottext">FFIResult ()
-</span><a href="#local-6989586621679060288"><span class="hs-identifier hs-var">ffiResult</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; Ptr a -&gt; IO a
+</span><a href="#local-6989586621679060719"><span class="hs-identifier hs-var">opptr</span></a></span><span> </span><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060718"><span class="hs-identifier hs-var">cSrcPath</span></a></span><span> </span><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060717"><span class="hs-identifier hs-var">cDstPath</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult ())
+</span><a href="#local-6989586621679060716"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
+</span><span id="line-455"></span><span>        </span><span id="local-6989586621679060714"><span class="annot"><span class="annottext">FFIResult ()
+</span><a href="#local-6989586621679060714"><span class="hs-identifier hs-var">ffiResult</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; Ptr a -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peek</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult ())
-</span><a href="#local-6989586621679060290"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
+</span><a href="#local-6989586621679060716"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
 </span><span id="line-456"></span><span>        </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; CUInt
 </span><a href="OpenDAL.FFI.html#ffiCode"><span class="hs-identifier hs-var">ffiCode</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult ()
-</span><a href="#local-6989586621679060288"><span class="hs-identifier hs-var">ffiResult</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Eq a =&gt; a -&gt; a -&gt; Bool
+</span><a href="#local-6989586621679060714"><span class="hs-identifier hs-var">ffiResult</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Eq a =&gt; a -&gt; a -&gt; Bool
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/ghc-prim-0.8.0/src"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">CUInt
 </span><span class="hs-number">0</span></span><span>
 </span><span id="line-457"></span><span>          </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
@@ -1318,67 +1318,67 @@ LogAction IO (Msg sev) -&gt; a -&gt; CString -&gt; IO ()
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. b -&gt; Either a b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">Right</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
 </span><span id="line-458"></span><span>          </span><span class="hs-keyword">else</span><span> </span><span class="hs-keyword">do</span><span>
-</span><span id="line-459"></span><span>            </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679060285"><span class="annot"><span class="annottext">code :: ErrorCode
-</span><a href="#local-6989586621679060285"><span class="hs-identifier hs-var hs-var">code</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; ErrorCode
+</span><span id="line-459"></span><span>            </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679060711"><span class="annot"><span class="annottext">code :: ErrorCode
+</span><a href="#local-6989586621679060711"><span class="hs-identifier hs-var hs-var">code</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; ErrorCode
 </span><a href="OpenDAL.html#parseErrorCode"><span class="hs-identifier hs-var">parseErrorCode</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (Integral a, Num b) =&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; CUInt
 </span><a href="OpenDAL.FFI.html#ffiCode"><span class="hs-identifier hs-var">ffiCode</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult ()
-</span><a href="#local-6989586621679060288"><span class="hs-identifier hs-var">ffiResult</span></a></span><span>
-</span><span id="line-460"></span><span>            </span><span id="local-6989586621679060284"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060284"><span class="hs-identifier hs-var">errMsg</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO String
+</span><a href="#local-6989586621679060714"><span class="hs-identifier hs-var">ffiResult</span></a></span><span>
+</span><span id="line-460"></span><span>            </span><span id="local-6989586621679060710"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060710"><span class="hs-identifier hs-var">errMsg</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO String
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peekCString</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; CString
 </span><a href="OpenDAL.FFI.html#errorMessage"><span class="hs-identifier hs-var">errorMessage</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult ()
-</span><a href="#local-6989586621679060288"><span class="hs-identifier hs-var">ffiResult</span></a></span><span class="hs-special">)</span><span>
+</span><a href="#local-6989586621679060714"><span class="hs-identifier hs-var">ffiResult</span></a></span><span class="hs-special">)</span><span>
 </span><span id="line-461"></span><span>            </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. a -&gt; Either a b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">Left</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">ErrorCode -&gt; String -&gt; OpenDALError
 </span><a href="OpenDAL.html#OpenDALError"><span class="hs-identifier hs-var">OpenDALError</span></a></span><span> </span><span class="annot"><span class="annottext">ErrorCode
-</span><a href="#local-6989586621679060285"><span class="hs-identifier hs-var">code</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060284"><span class="hs-identifier hs-var">errMsg</span></a></span><span>
+</span><a href="#local-6989586621679060711"><span class="hs-identifier hs-var">code</span></a></span><span> </span><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060710"><span class="hs-identifier hs-var">errMsg</span></a></span><span>
 </span><span id="line-462"></span><span>
 </span><span id="line-463"></span><span class="hs-comment">-- | Rename a file from srcPath to dstPath.</span><span>
 </span><span id="line-464"></span><span class="annot"><a href="OpenDAL.html#renameOpRaw"><span class="hs-identifier hs-type">renameOpRaw</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="OpenDAL.html#Operator"><span class="hs-identifier hs-type">Operator</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries [...]
 </span><span id="line-465"></span><span id="renameOpRaw"><span class="annot"><span class="annottext">renameOpRaw :: Operator -&gt; String -&gt; String -&gt; IO (Either OpenDALError ())
-</span><a href="OpenDAL.html#renameOpRaw"><span class="hs-identifier hs-var hs-var">renameOpRaw</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="OpenDAL.html#Operator"><span class="hs-identifier hs-type">Operator</span></a></span><span> </span><span id="local-6989586621679060283"><span class="annot"><span class="annottext">ForeignPtr RawOperator
-</span><a href="#local-6989586621679060283"><span class="hs-identifier hs-var">op</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679060282"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060282"><span class="hs-identifier hs-var">srcPath</span></a></span></span><span> </span><span id="local-6989586621679060281"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060281"><span class="hs-identifier hs-var">dstPath</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall a b. ForeignPtr a -&gt; (Ptr a -&gt; IO b) -&gt; IO b
+</span><a href="OpenDAL.html#renameOpRaw"><span class="hs-identifier hs-var hs-var">renameOpRaw</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="OpenDAL.html#Operator"><span class="hs-identifier hs-type">Operator</span></a></span><span> </span><span id="local-6989586621679060709"><span class="annot"><span class="annottext">ForeignPtr RawOperator
+</span><a href="#local-6989586621679060709"><span class="hs-identifier hs-var">op</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679060708"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060708"><span class="hs-identifier hs-var">srcPath</span></a></span></span><span> </span><span id="local-6989586621679060707"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060707"><span class="hs-identifier hs-var">dstPath</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall a b. ForeignPtr a -&gt; (Ptr a -&gt; IO b) -&gt; IO b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">withForeignPtr</span></a></span><span> </span><span class="annot"><span class="annottext">ForeignPtr RawOperator
-</span><a href="#local-6989586621679060283"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060280"><span class="annot"><span class="annottext">Ptr RawOperator
-</span><a href="#local-6989586621679060280"><span class="hs-identifier hs-var">opptr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
+</span><a href="#local-6989586621679060709"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060706"><span class="annot"><span class="annottext">Ptr RawOperator
+</span><a href="#local-6989586621679060706"><span class="hs-identifier hs-var">opptr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
 </span><span id="line-466"></span><span>  </span><span class="annot"><span class="annottext">forall a. String -&gt; (CString -&gt; IO a) -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">withCString</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060282"><span class="hs-identifier hs-var">srcPath</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060279"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060279"><span class="hs-identifier hs-var">cSrcPath</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
+</span><a href="#local-6989586621679060708"><span class="hs-identifier hs-var">srcPath</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060705"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060705"><span class="hs-identifier hs-var">cSrcPath</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
 </span><span id="line-467"></span><span>    </span><span class="annot"><span class="annottext">forall a. String -&gt; (CString -&gt; IO a) -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">withCString</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060281"><span class="hs-identifier hs-var">dstPath</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060278"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060278"><span class="hs-identifier hs-var">cDstPath</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
+</span><a href="#local-6989586621679060707"><span class="hs-identifier hs-var">dstPath</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060704"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060704"><span class="hs-identifier hs-var">cDstPath</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
 </span><span id="line-468"></span><span>      </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; (Ptr a -&gt; IO b) -&gt; IO b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">alloca</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060277"><span class="annot"><span class="annottext">Ptr (FFIResult ())
-</span><a href="#local-6989586621679060277"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060703"><span class="annot"><span class="annottext">Ptr (FFIResult ())
+</span><a href="#local-6989586621679060703"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
 </span><span id="line-469"></span><span>        </span><span class="annot"><span class="annottext">Ptr RawOperator
 -&gt; CString -&gt; CString -&gt; Ptr (FFIResult ()) -&gt; IO ()
 </span><a href="OpenDAL.FFI.html#c_blocking_rename"><span class="hs-identifier hs-var">c_blocking_rename</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr RawOperator
-</span><a href="#local-6989586621679060280"><span class="hs-identifier hs-var">opptr</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060279"><span class="hs-identifier hs-var">cSrcPath</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060278"><span class="hs-identifier hs-var">cDstPath</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult ())
-</span><a href="#local-6989586621679060277"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
-</span><span id="line-470"></span><span>        </span><span id="local-6989586621679060275"><span class="annot"><span class="annottext">FFIResult ()
-</span><a href="#local-6989586621679060275"><span class="hs-identifier hs-var">ffiResult</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; Ptr a -&gt; IO a
+</span><a href="#local-6989586621679060706"><span class="hs-identifier hs-var">opptr</span></a></span><span> </span><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060705"><span class="hs-identifier hs-var">cSrcPath</span></a></span><span> </span><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060704"><span class="hs-identifier hs-var">cDstPath</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult ())
+</span><a href="#local-6989586621679060703"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
+</span><span id="line-470"></span><span>        </span><span id="local-6989586621679060701"><span class="annot"><span class="annottext">FFIResult ()
+</span><a href="#local-6989586621679060701"><span class="hs-identifier hs-var">ffiResult</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; Ptr a -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peek</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult ())
-</span><a href="#local-6989586621679060277"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
+</span><a href="#local-6989586621679060703"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
 </span><span id="line-471"></span><span>        </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; CUInt
 </span><a href="OpenDAL.FFI.html#ffiCode"><span class="hs-identifier hs-var">ffiCode</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult ()
-</span><a href="#local-6989586621679060275"><span class="hs-identifier hs-var">ffiResult</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Eq a =&gt; a -&gt; a -&gt; Bool
+</span><a href="#local-6989586621679060701"><span class="hs-identifier hs-var">ffiResult</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Eq a =&gt; a -&gt; a -&gt; Bool
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/ghc-prim-0.8.0/src"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">CUInt
 </span><span class="hs-number">0</span></span><span>
 </span><span id="line-472"></span><span>          </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
@@ -1386,59 +1386,59 @@ LogAction IO (Msg sev) -&gt; a -&gt; CString -&gt; IO ()
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. b -&gt; Either a b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">Right</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
 </span><span id="line-473"></span><span>          </span><span class="hs-keyword">else</span><span> </span><span class="hs-keyword">do</span><span>
-</span><span id="line-474"></span><span>            </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679060272"><span class="annot"><span class="annottext">code :: ErrorCode
-</span><a href="#local-6989586621679060272"><span class="hs-identifier hs-var hs-var">code</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; ErrorCode
+</span><span id="line-474"></span><span>            </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679060698"><span class="annot"><span class="annottext">code :: ErrorCode
+</span><a href="#local-6989586621679060698"><span class="hs-identifier hs-var hs-var">code</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; ErrorCode
 </span><a href="OpenDAL.html#parseErrorCode"><span class="hs-identifier hs-var">parseErrorCode</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (Integral a, Num b) =&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; CUInt
 </span><a href="OpenDAL.FFI.html#ffiCode"><span class="hs-identifier hs-var">ffiCode</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult ()
-</span><a href="#local-6989586621679060275"><span class="hs-identifier hs-var">ffiResult</span></a></span><span>
-</span><span id="line-475"></span><span>            </span><span id="local-6989586621679060271"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060271"><span class="hs-identifier hs-var">errMsg</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO String
+</span><a href="#local-6989586621679060701"><span class="hs-identifier hs-var">ffiResult</span></a></span><span>
+</span><span id="line-475"></span><span>            </span><span id="local-6989586621679060697"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060697"><span class="hs-identifier hs-var">errMsg</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO String
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peekCString</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; CString
 </span><a href="OpenDAL.FFI.html#errorMessage"><span class="hs-identifier hs-var">errorMessage</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult ()
-</span><a href="#local-6989586621679060275"><span class="hs-identifier hs-var">ffiResult</span></a></span><span class="hs-special">)</span><span>
+</span><a href="#local-6989586621679060701"><span class="hs-identifier hs-var">ffiResult</span></a></span><span class="hs-special">)</span><span>
 </span><span id="line-476"></span><span>            </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. a -&gt; Either a b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">Left</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">ErrorCode -&gt; String -&gt; OpenDALError
 </span><a href="OpenDAL.html#OpenDALError"><span class="hs-identifier hs-var">OpenDALError</span></a></span><span> </span><span class="annot"><span class="annottext">ErrorCode
-</span><a href="#local-6989586621679060272"><span class="hs-identifier hs-var">code</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060271"><span class="hs-identifier hs-var">errMsg</span></a></span><span>
+</span><a href="#local-6989586621679060698"><span class="hs-identifier hs-var">code</span></a></span><span> </span><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060697"><span class="hs-identifier hs-var">errMsg</span></a></span><span>
 </span><span id="line-477"></span><span>
 </span><span id="line-478"></span><span class="hs-comment">-- | Delete given path.</span><span>
 </span><span id="line-479"></span><span class="annot"><a href="OpenDAL.html#deleteOpRaw"><span class="hs-identifier hs-type">deleteOpRaw</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="OpenDAL.html#Operator"><span class="hs-identifier hs-type">Operator</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries [...]
 </span><span id="line-480"></span><span id="deleteOpRaw"><span class="annot"><span class="annottext">deleteOpRaw :: Operator -&gt; String -&gt; IO (Either OpenDALError ())
-</span><a href="OpenDAL.html#deleteOpRaw"><span class="hs-identifier hs-var hs-var">deleteOpRaw</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="OpenDAL.html#Operator"><span class="hs-identifier hs-type">Operator</span></a></span><span> </span><span id="local-6989586621679060270"><span class="annot"><span class="annottext">ForeignPtr RawOperator
-</span><a href="#local-6989586621679060270"><span class="hs-identifier hs-var">op</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679060269"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060269"><span class="hs-identifier hs-var">path</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall a b. ForeignPtr a -&gt; (Ptr a -&gt; IO b) -&gt; IO b
+</span><a href="OpenDAL.html#deleteOpRaw"><span class="hs-identifier hs-var hs-var">deleteOpRaw</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="OpenDAL.html#Operator"><span class="hs-identifier hs-type">Operator</span></a></span><span> </span><span id="local-6989586621679060696"><span class="annot"><span class="annottext">ForeignPtr RawOperator
+</span><a href="#local-6989586621679060696"><span class="hs-identifier hs-var">op</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679060695"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060695"><span class="hs-identifier hs-var">path</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall a b. ForeignPtr a -&gt; (Ptr a -&gt; IO b) -&gt; IO b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">withForeignPtr</span></a></span><span> </span><span class="annot"><span class="annottext">ForeignPtr RawOperator
-</span><a href="#local-6989586621679060270"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060268"><span class="annot"><span class="annottext">Ptr RawOperator
-</span><a href="#local-6989586621679060268"><span class="hs-identifier hs-var">opptr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
+</span><a href="#local-6989586621679060696"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060694"><span class="annot"><span class="annottext">Ptr RawOperator
+</span><a href="#local-6989586621679060694"><span class="hs-identifier hs-var">opptr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
 </span><span id="line-481"></span><span>  </span><span class="annot"><span class="annottext">forall a. String -&gt; (CString -&gt; IO a) -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">withCString</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060269"><span class="hs-identifier hs-var">path</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060267"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060267"><span class="hs-identifier hs-var">cPath</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
+</span><a href="#local-6989586621679060695"><span class="hs-identifier hs-var">path</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060693"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060693"><span class="hs-identifier hs-var">cPath</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
 </span><span id="line-482"></span><span>    </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; (Ptr a -&gt; IO b) -&gt; IO b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">alloca</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060266"><span class="annot"><span class="annottext">Ptr (FFIResult ())
-</span><a href="#local-6989586621679060266"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060692"><span class="annot"><span class="annottext">Ptr (FFIResult ())
+</span><a href="#local-6989586621679060692"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
 </span><span id="line-483"></span><span>      </span><span class="annot"><span class="annottext">Ptr RawOperator -&gt; CString -&gt; Ptr (FFIResult ()) -&gt; IO ()
 </span><a href="OpenDAL.FFI.html#c_blocking_delete"><span class="hs-identifier hs-var">c_blocking_delete</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr RawOperator
-</span><a href="#local-6989586621679060268"><span class="hs-identifier hs-var">opptr</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060267"><span class="hs-identifier hs-var">cPath</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult ())
-</span><a href="#local-6989586621679060266"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
-</span><span id="line-484"></span><span>      </span><span id="local-6989586621679060264"><span class="annot"><span class="annottext">FFIResult ()
-</span><a href="#local-6989586621679060264"><span class="hs-identifier hs-var">ffiResult</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; Ptr a -&gt; IO a
+</span><a href="#local-6989586621679060694"><span class="hs-identifier hs-var">opptr</span></a></span><span> </span><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060693"><span class="hs-identifier hs-var">cPath</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult ())
+</span><a href="#local-6989586621679060692"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
+</span><span id="line-484"></span><span>      </span><span id="local-6989586621679060690"><span class="annot"><span class="annottext">FFIResult ()
+</span><a href="#local-6989586621679060690"><span class="hs-identifier hs-var">ffiResult</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; Ptr a -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peek</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult ())
-</span><a href="#local-6989586621679060266"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
+</span><a href="#local-6989586621679060692"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
 </span><span id="line-485"></span><span>      </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; CUInt
 </span><a href="OpenDAL.FFI.html#ffiCode"><span class="hs-identifier hs-var">ffiCode</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult ()
-</span><a href="#local-6989586621679060264"><span class="hs-identifier hs-var">ffiResult</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Eq a =&gt; a -&gt; a -&gt; Bool
+</span><a href="#local-6989586621679060690"><span class="hs-identifier hs-var">ffiResult</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Eq a =&gt; a -&gt; a -&gt; Bool
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/ghc-prim-0.8.0/src"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">CUInt
 </span><span class="hs-number">0</span></span><span>
 </span><span id="line-486"></span><span>        </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
@@ -1446,313 +1446,313 @@ LogAction IO (Msg sev) -&gt; a -&gt; CString -&gt; IO ()
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. b -&gt; Either a b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">Right</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
 </span><span id="line-487"></span><span>        </span><span class="hs-keyword">else</span><span> </span><span class="hs-keyword">do</span><span>
-</span><span id="line-488"></span><span>          </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679060261"><span class="annot"><span class="annottext">code :: ErrorCode
-</span><a href="#local-6989586621679060261"><span class="hs-identifier hs-var hs-var">code</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; ErrorCode
+</span><span id="line-488"></span><span>          </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679060687"><span class="annot"><span class="annottext">code :: ErrorCode
+</span><a href="#local-6989586621679060687"><span class="hs-identifier hs-var hs-var">code</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; ErrorCode
 </span><a href="OpenDAL.html#parseErrorCode"><span class="hs-identifier hs-var">parseErrorCode</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (Integral a, Num b) =&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; CUInt
 </span><a href="OpenDAL.FFI.html#ffiCode"><span class="hs-identifier hs-var">ffiCode</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult ()
-</span><a href="#local-6989586621679060264"><span class="hs-identifier hs-var">ffiResult</span></a></span><span>
-</span><span id="line-489"></span><span>          </span><span id="local-6989586621679060260"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060260"><span class="hs-identifier hs-var">errMsg</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO String
+</span><a href="#local-6989586621679060690"><span class="hs-identifier hs-var">ffiResult</span></a></span><span>
+</span><span id="line-489"></span><span>          </span><span id="local-6989586621679060686"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060686"><span class="hs-identifier hs-var">errMsg</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO String
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peekCString</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; CString
 </span><a href="OpenDAL.FFI.html#errorMessage"><span class="hs-identifier hs-var">errorMessage</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult ()
-</span><a href="#local-6989586621679060264"><span class="hs-identifier hs-var">ffiResult</span></a></span><span class="hs-special">)</span><span>
+</span><a href="#local-6989586621679060690"><span class="hs-identifier hs-var">ffiResult</span></a></span><span class="hs-special">)</span><span>
 </span><span id="line-490"></span><span>          </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. a -&gt; Either a b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">Left</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">ErrorCode -&gt; String -&gt; OpenDALError
 </span><a href="OpenDAL.html#OpenDALError"><span class="hs-identifier hs-var">OpenDALError</span></a></span><span> </span><span class="annot"><span class="annottext">ErrorCode
-</span><a href="#local-6989586621679060261"><span class="hs-identifier hs-var">code</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060260"><span class="hs-identifier hs-var">errMsg</span></a></span><span>
+</span><a href="#local-6989586621679060687"><span class="hs-identifier hs-var">code</span></a></span><span> </span><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060686"><span class="hs-identifier hs-var">errMsg</span></a></span><span>
 </span><span id="line-491"></span><span>
 </span><span id="line-492"></span><span class="hs-comment">-- | Get given path&#8217;s metadata without cache directly.</span><span>
 </span><span id="line-493"></span><span class="annot"><a href="OpenDAL.html#statOpRaw"><span class="hs-identifier hs-type">statOpRaw</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="OpenDAL.html#Operator"><span class="hs-identifier hs-type">Operator</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/bas [...]
 </span><span id="line-494"></span><span id="statOpRaw"><span class="annot"><span class="annottext">statOpRaw :: Operator -&gt; String -&gt; IO (Either OpenDALError Metadata)
-</span><a href="OpenDAL.html#statOpRaw"><span class="hs-identifier hs-var hs-var">statOpRaw</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="OpenDAL.html#Operator"><span class="hs-identifier hs-type">Operator</span></a></span><span> </span><span id="local-6989586621679060259"><span class="annot"><span class="annottext">ForeignPtr RawOperator
-</span><a href="#local-6989586621679060259"><span class="hs-identifier hs-var">op</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679060258"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060258"><span class="hs-identifier hs-var">path</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall a b. ForeignPtr a -&gt; (Ptr a -&gt; IO b) -&gt; IO b
+</span><a href="OpenDAL.html#statOpRaw"><span class="hs-identifier hs-var hs-var">statOpRaw</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="OpenDAL.html#Operator"><span class="hs-identifier hs-type">Operator</span></a></span><span> </span><span id="local-6989586621679060685"><span class="annot"><span class="annottext">ForeignPtr RawOperator
+</span><a href="#local-6989586621679060685"><span class="hs-identifier hs-var">op</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679060684"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060684"><span class="hs-identifier hs-var">path</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall a b. ForeignPtr a -&gt; (Ptr a -&gt; IO b) -&gt; IO b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">withForeignPtr</span></a></span><span> </span><span class="annot"><span class="annottext">ForeignPtr RawOperator
-</span><a href="#local-6989586621679060259"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060257"><span class="annot"><span class="annottext">Ptr RawOperator
-</span><a href="#local-6989586621679060257"><span class="hs-identifier hs-var">opptr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
+</span><a href="#local-6989586621679060685"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060683"><span class="annot"><span class="annottext">Ptr RawOperator
+</span><a href="#local-6989586621679060683"><span class="hs-identifier hs-var">opptr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
 </span><span id="line-495"></span><span>  </span><span class="annot"><span class="annottext">forall a. String -&gt; (CString -&gt; IO a) -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">withCString</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060258"><span class="hs-identifier hs-var">path</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060256"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060256"><span class="hs-identifier hs-var">cPath</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
+</span><a href="#local-6989586621679060684"><span class="hs-identifier hs-var">path</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060682"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060682"><span class="hs-identifier hs-var">cPath</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
 </span><span id="line-496"></span><span>    </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; (Ptr a -&gt; IO b) -&gt; IO b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">alloca</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060255"><span class="annot"><span class="annottext">Ptr (FFIResult FFIMetadata)
-</span><a href="#local-6989586621679060255"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060681"><span class="annot"><span class="annottext">Ptr (FFIResult FFIMetadata)
+</span><a href="#local-6989586621679060681"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
 </span><span id="line-497"></span><span>      </span><span class="annot"><span class="annottext">Ptr RawOperator -&gt; CString -&gt; Ptr (FFIResult FFIMetadata) -&gt; IO ()
 </span><a href="OpenDAL.FFI.html#c_blocking_stat"><span class="hs-identifier hs-var">c_blocking_stat</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr RawOperator
-</span><a href="#local-6989586621679060257"><span class="hs-identifier hs-var">opptr</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060256"><span class="hs-identifier hs-var">cPath</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult FFIMetadata)
-</span><a href="#local-6989586621679060255"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
-</span><span id="line-498"></span><span>      </span><span id="local-6989586621679060253"><span class="annot"><span class="annottext">FFIResult FFIMetadata
-</span><a href="#local-6989586621679060253"><span class="hs-identifier hs-var">ffiResult</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; Ptr a -&gt; IO a
+</span><a href="#local-6989586621679060683"><span class="hs-identifier hs-var">opptr</span></a></span><span> </span><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060682"><span class="hs-identifier hs-var">cPath</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult FFIMetadata)
+</span><a href="#local-6989586621679060681"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
+</span><span id="line-498"></span><span>      </span><span id="local-6989586621679060679"><span class="annot"><span class="annottext">FFIResult FFIMetadata
+</span><a href="#local-6989586621679060679"><span class="hs-identifier hs-var">ffiResult</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; Ptr a -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peek</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult FFIMetadata)
-</span><a href="#local-6989586621679060255"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
+</span><a href="#local-6989586621679060681"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
 </span><span id="line-499"></span><span>      </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; CUInt
 </span><a href="OpenDAL.FFI.html#ffiCode"><span class="hs-identifier hs-var">ffiCode</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult FFIMetadata
-</span><a href="#local-6989586621679060253"><span class="hs-identifier hs-var">ffiResult</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Eq a =&gt; a -&gt; a -&gt; Bool
+</span><a href="#local-6989586621679060679"><span class="hs-identifier hs-var">ffiResult</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Eq a =&gt; a -&gt; a -&gt; Bool
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/ghc-prim-0.8.0/src"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">CUInt
 </span><span class="hs-number">0</span></span><span>
 </span><span id="line-500"></span><span>        </span><span class="hs-keyword">then</span><span> </span><span class="hs-keyword">do</span><span>
-</span><span id="line-501"></span><span>          </span><span id="local-6989586621679060252"><span class="annot"><span class="annottext">FFIMetadata
-</span><a href="#local-6989586621679060252"><span class="hs-identifier hs-var">ffimatadata</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; Ptr a -&gt; IO a
+</span><span id="line-501"></span><span>          </span><span id="local-6989586621679060678"><span class="annot"><span class="annottext">FFIMetadata
+</span><a href="#local-6989586621679060678"><span class="hs-identifier hs-var">ffimatadata</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; Ptr a -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peek</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; Ptr a
 </span><a href="OpenDAL.FFI.html#dataPtr"><span class="hs-identifier hs-var">dataPtr</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult FFIMetadata
-</span><a href="#local-6989586621679060253"><span class="hs-identifier hs-var">ffiResult</span></a></span><span>
-</span><span id="line-502"></span><span>          </span><span id="local-6989586621679060251"><span class="annot"><span class="annottext">Metadata
-</span><a href="#local-6989586621679060251"><span class="hs-identifier hs-var">metadata</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">FFIMetadata -&gt; IO Metadata
+</span><a href="#local-6989586621679060679"><span class="hs-identifier hs-var">ffiResult</span></a></span><span>
+</span><span id="line-502"></span><span>          </span><span id="local-6989586621679060677"><span class="annot"><span class="annottext">Metadata
+</span><a href="#local-6989586621679060677"><span class="hs-identifier hs-var">metadata</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">FFIMetadata -&gt; IO Metadata
 </span><a href="OpenDAL.html#parseFFIMetadata"><span class="hs-identifier hs-var">parseFFIMetadata</span></a></span><span> </span><span class="annot"><span class="annottext">FFIMetadata
-</span><a href="#local-6989586621679060252"><span class="hs-identifier hs-var">ffimatadata</span></a></span><span>
+</span><a href="#local-6989586621679060678"><span class="hs-identifier hs-var">ffimatadata</span></a></span><span>
 </span><span id="line-503"></span><span>          </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. b -&gt; Either a b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">Right</span></a></span><span> </span><span class="annot"><span class="annottext">Metadata
-</span><a href="#local-6989586621679060251"><span class="hs-identifier hs-var">metadata</span></a></span><span>
+</span><a href="#local-6989586621679060677"><span class="hs-identifier hs-var">metadata</span></a></span><span>
 </span><span id="line-504"></span><span>        </span><span class="hs-keyword">else</span><span> </span><span class="hs-keyword">do</span><span>
-</span><span id="line-505"></span><span>          </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679060248"><span class="annot"><span class="annottext">code :: ErrorCode
-</span><a href="#local-6989586621679060248"><span class="hs-identifier hs-var hs-var">code</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; ErrorCode
+</span><span id="line-505"></span><span>          </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679060674"><span class="annot"><span class="annottext">code :: ErrorCode
+</span><a href="#local-6989586621679060674"><span class="hs-identifier hs-var hs-var">code</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; ErrorCode
 </span><a href="OpenDAL.html#parseErrorCode"><span class="hs-identifier hs-var">parseErrorCode</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (Integral a, Num b) =&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; CUInt
 </span><a href="OpenDAL.FFI.html#ffiCode"><span class="hs-identifier hs-var">ffiCode</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult FFIMetadata
-</span><a href="#local-6989586621679060253"><span class="hs-identifier hs-var">ffiResult</span></a></span><span>
-</span><span id="line-506"></span><span>          </span><span id="local-6989586621679060247"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060247"><span class="hs-identifier hs-var">errMsg</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO String
+</span><a href="#local-6989586621679060679"><span class="hs-identifier hs-var">ffiResult</span></a></span><span>
+</span><span id="line-506"></span><span>          </span><span id="local-6989586621679060673"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060673"><span class="hs-identifier hs-var">errMsg</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO String
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peekCString</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; CString
 </span><a href="OpenDAL.FFI.html#errorMessage"><span class="hs-identifier hs-var">errorMessage</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult FFIMetadata
-</span><a href="#local-6989586621679060253"><span class="hs-identifier hs-var">ffiResult</span></a></span><span class="hs-special">)</span><span>
+</span><a href="#local-6989586621679060679"><span class="hs-identifier hs-var">ffiResult</span></a></span><span class="hs-special">)</span><span>
 </span><span id="line-507"></span><span>          </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. a -&gt; Either a b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">Left</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">ErrorCode -&gt; String -&gt; OpenDALError
 </span><a href="OpenDAL.html#OpenDALError"><span class="hs-identifier hs-var">OpenDALError</span></a></span><span> </span><span class="annot"><span class="annottext">ErrorCode
-</span><a href="#local-6989586621679060248"><span class="hs-identifier hs-var">code</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060247"><span class="hs-identifier hs-var">errMsg</span></a></span><span>
+</span><a href="#local-6989586621679060674"><span class="hs-identifier hs-var">code</span></a></span><span> </span><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060673"><span class="hs-identifier hs-var">errMsg</span></a></span><span>
 </span><span id="line-508"></span><span>
 </span><span id="line-509"></span><span class="hs-comment">-- | List current dir path.</span><span>
 </span><span id="line-510"></span><span class="hs-comment">-- This function will create a new handle to list entries.</span><span>
 </span><span id="line-511"></span><span class="hs-comment">-- An error will be returned if path doesn&#8217;t end with /.</span><span>
 </span><span id="line-512"></span><span class="annot"><a href="OpenDAL.html#listOpRaw"><span class="hs-identifier hs-type">listOpRaw</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="OpenDAL.html#Operator"><span class="hs-identifier hs-type">Operator</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/bas [...]
 </span><span id="line-513"></span><span id="listOpRaw"><span class="annot"><span class="annottext">listOpRaw :: Operator -&gt; String -&gt; IO (Either OpenDALError Lister)
-</span><a href="OpenDAL.html#listOpRaw"><span class="hs-identifier hs-var hs-var">listOpRaw</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="OpenDAL.html#Operator"><span class="hs-identifier hs-type">Operator</span></a></span><span> </span><span id="local-6989586621679060246"><span class="annot"><span class="annottext">ForeignPtr RawOperator
-</span><a href="#local-6989586621679060246"><span class="hs-identifier hs-var">op</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679060245"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060245"><span class="hs-identifier hs-var">path</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall a b. ForeignPtr a -&gt; (Ptr a -&gt; IO b) -&gt; IO b
+</span><a href="OpenDAL.html#listOpRaw"><span class="hs-identifier hs-var hs-var">listOpRaw</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="OpenDAL.html#Operator"><span class="hs-identifier hs-type">Operator</span></a></span><span> </span><span id="local-6989586621679060672"><span class="annot"><span class="annottext">ForeignPtr RawOperator
+</span><a href="#local-6989586621679060672"><span class="hs-identifier hs-var">op</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679060671"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060671"><span class="hs-identifier hs-var">path</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall a b. ForeignPtr a -&gt; (Ptr a -&gt; IO b) -&gt; IO b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">withForeignPtr</span></a></span><span> </span><span class="annot"><span class="annottext">ForeignPtr RawOperator
-</span><a href="#local-6989586621679060246"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060244"><span class="annot"><span class="annottext">Ptr RawOperator
-</span><a href="#local-6989586621679060244"><span class="hs-identifier hs-var">opptr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
+</span><a href="#local-6989586621679060672"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060670"><span class="annot"><span class="annottext">Ptr RawOperator
+</span><a href="#local-6989586621679060670"><span class="hs-identifier hs-var">opptr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
 </span><span id="line-514"></span><span>  </span><span class="annot"><span class="annottext">forall a. String -&gt; (CString -&gt; IO a) -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">withCString</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060245"><span class="hs-identifier hs-var">path</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060243"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060243"><span class="hs-identifier hs-var">cPath</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
+</span><a href="#local-6989586621679060671"><span class="hs-identifier hs-var">path</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060669"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060669"><span class="hs-identifier hs-var">cPath</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
 </span><span id="line-515"></span><span>    </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; (Ptr a -&gt; IO b) -&gt; IO b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">alloca</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060242"><span class="annot"><span class="annottext">Ptr (FFIResult (Ptr RawLister))
-</span><a href="#local-6989586621679060242"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060668"><span class="annot"><span class="annottext">Ptr (FFIResult (Ptr RawLister))
+</span><a href="#local-6989586621679060668"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
 </span><span id="line-516"></span><span>      </span><span class="annot"><span class="annottext">Ptr RawOperator
 -&gt; CString -&gt; Ptr (FFIResult (Ptr RawLister)) -&gt; IO ()
 </span><a href="OpenDAL.FFI.html#c_blocking_list"><span class="hs-identifier hs-var">c_blocking_list</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr RawOperator
-</span><a href="#local-6989586621679060244"><span class="hs-identifier hs-var">opptr</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060243"><span class="hs-identifier hs-var">cPath</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult (Ptr RawLister))
-</span><a href="#local-6989586621679060242"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
-</span><span id="line-517"></span><span>      </span><span id="local-6989586621679060240"><span class="annot"><span class="annottext">FFIResult (Ptr RawLister)
-</span><a href="#local-6989586621679060240"><span class="hs-identifier hs-var">ffiResult</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; Ptr a -&gt; IO a
+</span><a href="#local-6989586621679060670"><span class="hs-identifier hs-var">opptr</span></a></span><span> </span><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060669"><span class="hs-identifier hs-var">cPath</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult (Ptr RawLister))
+</span><a href="#local-6989586621679060668"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
+</span><span id="line-517"></span><span>      </span><span id="local-6989586621679060666"><span class="annot"><span class="annottext">FFIResult (Ptr RawLister)
+</span><a href="#local-6989586621679060666"><span class="hs-identifier hs-var">ffiResult</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; Ptr a -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peek</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult (Ptr RawLister))
-</span><a href="#local-6989586621679060242"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
+</span><a href="#local-6989586621679060668"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
 </span><span id="line-518"></span><span>      </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; CUInt
 </span><a href="OpenDAL.FFI.html#ffiCode"><span class="hs-identifier hs-var">ffiCode</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult (Ptr RawLister)
-</span><a href="#local-6989586621679060240"><span class="hs-identifier hs-var">ffiResult</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Eq a =&gt; a -&gt; a -&gt; Bool
+</span><a href="#local-6989586621679060666"><span class="hs-identifier hs-var">ffiResult</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Eq a =&gt; a -&gt; a -&gt; Bool
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/ghc-prim-0.8.0/src"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">CUInt
 </span><span class="hs-number">0</span></span><span>
 </span><span id="line-519"></span><span>        </span><span class="hs-keyword">then</span><span> </span><span class="hs-keyword">do</span><span>
-</span><span id="line-520"></span><span>          </span><span id="local-6989586621679060239"><span class="annot"><span class="annottext">Ptr RawLister
-</span><a href="#local-6989586621679060239"><span class="hs-identifier hs-var">ffilister</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; Ptr a -&gt; IO a
+</span><span id="line-520"></span><span>          </span><span id="local-6989586621679060665"><span class="annot"><span class="annottext">Ptr RawLister
+</span><a href="#local-6989586621679060665"><span class="hs-identifier hs-var">ffilister</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; Ptr a -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peek</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; Ptr a
 </span><a href="OpenDAL.FFI.html#dataPtr"><span class="hs-identifier hs-var">dataPtr</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult (Ptr RawLister)
-</span><a href="#local-6989586621679060240"><span class="hs-identifier hs-var">ffiResult</span></a></span><span>
-</span><span id="line-521"></span><span>          </span><span id="local-6989586621679060238"><span class="annot"><span class="annottext">Lister
-</span><a href="#local-6989586621679060238"><span class="hs-identifier hs-var">lister</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">ForeignPtr RawLister -&gt; Lister
+</span><a href="#local-6989586621679060666"><span class="hs-identifier hs-var">ffiResult</span></a></span><span>
+</span><span id="line-521"></span><span>          </span><span id="local-6989586621679060664"><span class="annot"><span class="annottext">Lister
+</span><a href="#local-6989586621679060664"><span class="hs-identifier hs-var">lister</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">ForeignPtr RawLister -&gt; Lister
 </span><a href="OpenDAL.html#Lister"><span class="hs-identifier hs-var">Lister</span></a></span><span> </span><span class="annot"><span class="annottext">forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">&lt;$&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. FinalizerPtr a -&gt; Ptr a -&gt; IO (ForeignPtr a)
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">newForeignPtr</span></a></span><span> </span><span class="annot"><span class="annottext">FunPtr (Ptr RawLister -&gt; IO ())
 </span><a href="OpenDAL.FFI.html#c_free_lister"><span class="hs-identifier hs-var">c_free_lister</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr RawLister
-</span><a href="#local-6989586621679060239"><span class="hs-identifier hs-var">ffilister</span></a></span><span>
+</span><a href="#local-6989586621679060665"><span class="hs-identifier hs-var">ffilister</span></a></span><span>
 </span><span id="line-522"></span><span>          </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. b -&gt; Either a b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">Right</span></a></span><span> </span><span class="annot"><span class="annottext">Lister
-</span><a href="#local-6989586621679060238"><span class="hs-identifier hs-var">lister</span></a></span><span>
+</span><a href="#local-6989586621679060664"><span class="hs-identifier hs-var">lister</span></a></span><span>
 </span><span id="line-523"></span><span>        </span><span class="hs-keyword">else</span><span> </span><span class="hs-keyword">do</span><span>
-</span><span id="line-524"></span><span>          </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679060234"><span class="annot"><span class="annottext">code :: ErrorCode
-</span><a href="#local-6989586621679060234"><span class="hs-identifier hs-var hs-var">code</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; ErrorCode
+</span><span id="line-524"></span><span>          </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679060660"><span class="annot"><span class="annottext">code :: ErrorCode
+</span><a href="#local-6989586621679060660"><span class="hs-identifier hs-var hs-var">code</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; ErrorCode
 </span><a href="OpenDAL.html#parseErrorCode"><span class="hs-identifier hs-var">parseErrorCode</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (Integral a, Num b) =&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; CUInt
 </span><a href="OpenDAL.FFI.html#ffiCode"><span class="hs-identifier hs-var">ffiCode</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult (Ptr RawLister)
-</span><a href="#local-6989586621679060240"><span class="hs-identifier hs-var">ffiResult</span></a></span><span>
-</span><span id="line-525"></span><span>          </span><span id="local-6989586621679060233"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060233"><span class="hs-identifier hs-var">errMsg</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO String
+</span><a href="#local-6989586621679060666"><span class="hs-identifier hs-var">ffiResult</span></a></span><span>
+</span><span id="line-525"></span><span>          </span><span id="local-6989586621679060659"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060659"><span class="hs-identifier hs-var">errMsg</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO String
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peekCString</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; CString
 </span><a href="OpenDAL.FFI.html#errorMessage"><span class="hs-identifier hs-var">errorMessage</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult (Ptr RawLister)
-</span><a href="#local-6989586621679060240"><span class="hs-identifier hs-var">ffiResult</span></a></span><span class="hs-special">)</span><span>
+</span><a href="#local-6989586621679060666"><span class="hs-identifier hs-var">ffiResult</span></a></span><span class="hs-special">)</span><span>
 </span><span id="line-526"></span><span>          </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. a -&gt; Either a b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">Left</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">ErrorCode -&gt; String -&gt; OpenDALError
 </span><a href="OpenDAL.html#OpenDALError"><span class="hs-identifier hs-var">OpenDALError</span></a></span><span> </span><span class="annot"><span class="annottext">ErrorCode
-</span><a href="#local-6989586621679060234"><span class="hs-identifier hs-var">code</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060233"><span class="hs-identifier hs-var">errMsg</span></a></span><span>
+</span><a href="#local-6989586621679060660"><span class="hs-identifier hs-var">code</span></a></span><span> </span><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060659"><span class="hs-identifier hs-var">errMsg</span></a></span><span>
 </span><span id="line-527"></span><span>
 </span><span id="line-528"></span><span class="hs-comment">-- | List dir in flat way.</span><span>
 </span><span id="line-529"></span><span class="hs-comment">-- Also, this function can be used to list a prefix.</span><span>
 </span><span id="line-530"></span><span class="hs-comment">-- An error will be returned if given path doesn&#8217;t end with /.</span><span>
 </span><span id="line-531"></span><span class="annot"><a href="OpenDAL.html#scanOpRaw"><span class="hs-identifier hs-type">scanOpRaw</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="OpenDAL.html#Operator"><span class="hs-identifier hs-type">Operator</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/bas [...]
 </span><span id="line-532"></span><span id="scanOpRaw"><span class="annot"><span class="annottext">scanOpRaw :: Operator -&gt; String -&gt; IO (Either OpenDALError Lister)
-</span><a href="OpenDAL.html#scanOpRaw"><span class="hs-identifier hs-var hs-var">scanOpRaw</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="OpenDAL.html#Operator"><span class="hs-identifier hs-type">Operator</span></a></span><span> </span><span id="local-6989586621679060232"><span class="annot"><span class="annottext">ForeignPtr RawOperator
-</span><a href="#local-6989586621679060232"><span class="hs-identifier hs-var">op</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679060231"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060231"><span class="hs-identifier hs-var">path</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall a b. ForeignPtr a -&gt; (Ptr a -&gt; IO b) -&gt; IO b
+</span><a href="OpenDAL.html#scanOpRaw"><span class="hs-identifier hs-var hs-var">scanOpRaw</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="OpenDAL.html#Operator"><span class="hs-identifier hs-type">Operator</span></a></span><span> </span><span id="local-6989586621679060658"><span class="annot"><span class="annottext">ForeignPtr RawOperator
+</span><a href="#local-6989586621679060658"><span class="hs-identifier hs-var">op</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679060657"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060657"><span class="hs-identifier hs-var">path</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall a b. ForeignPtr a -&gt; (Ptr a -&gt; IO b) -&gt; IO b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">withForeignPtr</span></a></span><span> </span><span class="annot"><span class="annottext">ForeignPtr RawOperator
-</span><a href="#local-6989586621679060232"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060230"><span class="annot"><span class="annottext">Ptr RawOperator
-</span><a href="#local-6989586621679060230"><span class="hs-identifier hs-var">opptr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
+</span><a href="#local-6989586621679060658"><span class="hs-identifier hs-var">op</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060656"><span class="annot"><span class="annottext">Ptr RawOperator
+</span><a href="#local-6989586621679060656"><span class="hs-identifier hs-var">opptr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
 </span><span id="line-533"></span><span>  </span><span class="annot"><span class="annottext">forall a. String -&gt; (CString -&gt; IO a) -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">withCString</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060231"><span class="hs-identifier hs-var">path</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060229"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060229"><span class="hs-identifier hs-var">cPath</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
+</span><a href="#local-6989586621679060657"><span class="hs-identifier hs-var">path</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060655"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060655"><span class="hs-identifier hs-var">cPath</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
 </span><span id="line-534"></span><span>    </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; (Ptr a -&gt; IO b) -&gt; IO b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">alloca</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060228"><span class="annot"><span class="annottext">Ptr (FFIResult (Ptr RawLister))
-</span><a href="#local-6989586621679060228"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060654"><span class="annot"><span class="annottext">Ptr (FFIResult (Ptr RawLister))
+</span><a href="#local-6989586621679060654"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
 </span><span id="line-535"></span><span>      </span><span class="annot"><span class="annottext">Ptr RawOperator
 -&gt; CString -&gt; Ptr (FFIResult (Ptr RawLister)) -&gt; IO ()
 </span><a href="OpenDAL.FFI.html#c_blocking_scan"><span class="hs-identifier hs-var">c_blocking_scan</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr RawOperator
-</span><a href="#local-6989586621679060230"><span class="hs-identifier hs-var">opptr</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060229"><span class="hs-identifier hs-var">cPath</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult (Ptr RawLister))
-</span><a href="#local-6989586621679060228"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
-</span><span id="line-536"></span><span>      </span><span id="local-6989586621679060226"><span class="annot"><span class="annottext">FFIResult (Ptr RawLister)
-</span><a href="#local-6989586621679060226"><span class="hs-identifier hs-var">ffiResult</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; Ptr a -&gt; IO a
+</span><a href="#local-6989586621679060656"><span class="hs-identifier hs-var">opptr</span></a></span><span> </span><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060655"><span class="hs-identifier hs-var">cPath</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult (Ptr RawLister))
+</span><a href="#local-6989586621679060654"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
+</span><span id="line-536"></span><span>      </span><span id="local-6989586621679060652"><span class="annot"><span class="annottext">FFIResult (Ptr RawLister)
+</span><a href="#local-6989586621679060652"><span class="hs-identifier hs-var">ffiResult</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; Ptr a -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peek</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult (Ptr RawLister))
-</span><a href="#local-6989586621679060228"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
+</span><a href="#local-6989586621679060654"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
 </span><span id="line-537"></span><span>      </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; CUInt
 </span><a href="OpenDAL.FFI.html#ffiCode"><span class="hs-identifier hs-var">ffiCode</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult (Ptr RawLister)
-</span><a href="#local-6989586621679060226"><span class="hs-identifier hs-var">ffiResult</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Eq a =&gt; a -&gt; a -&gt; Bool
+</span><a href="#local-6989586621679060652"><span class="hs-identifier hs-var">ffiResult</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Eq a =&gt; a -&gt; a -&gt; Bool
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/ghc-prim-0.8.0/src"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">CUInt
 </span><span class="hs-number">0</span></span><span>
 </span><span id="line-538"></span><span>        </span><span class="hs-keyword">then</span><span> </span><span class="hs-keyword">do</span><span>
-</span><span id="line-539"></span><span>          </span><span id="local-6989586621679060225"><span class="annot"><span class="annottext">Ptr RawLister
-</span><a href="#local-6989586621679060225"><span class="hs-identifier hs-var">ffilister</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; Ptr a -&gt; IO a
+</span><span id="line-539"></span><span>          </span><span id="local-6989586621679060651"><span class="annot"><span class="annottext">Ptr RawLister
+</span><a href="#local-6989586621679060651"><span class="hs-identifier hs-var">ffilister</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; Ptr a -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peek</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; Ptr a
 </span><a href="OpenDAL.FFI.html#dataPtr"><span class="hs-identifier hs-var">dataPtr</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult (Ptr RawLister)
-</span><a href="#local-6989586621679060226"><span class="hs-identifier hs-var">ffiResult</span></a></span><span>
-</span><span id="line-540"></span><span>          </span><span id="local-6989586621679060224"><span class="annot"><span class="annottext">Lister
-</span><a href="#local-6989586621679060224"><span class="hs-identifier hs-var">lister</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">ForeignPtr RawLister -&gt; Lister
+</span><a href="#local-6989586621679060652"><span class="hs-identifier hs-var">ffiResult</span></a></span><span>
+</span><span id="line-540"></span><span>          </span><span id="local-6989586621679060650"><span class="annot"><span class="annottext">Lister
+</span><a href="#local-6989586621679060650"><span class="hs-identifier hs-var">lister</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">ForeignPtr RawLister -&gt; Lister
 </span><a href="OpenDAL.html#Lister"><span class="hs-identifier hs-var">Lister</span></a></span><span> </span><span class="annot"><span class="annottext">forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">&lt;$&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. FinalizerPtr a -&gt; Ptr a -&gt; IO (ForeignPtr a)
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">newForeignPtr</span></a></span><span> </span><span class="annot"><span class="annottext">FunPtr (Ptr RawLister -&gt; IO ())
 </span><a href="OpenDAL.FFI.html#c_free_lister"><span class="hs-identifier hs-var">c_free_lister</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr RawLister
-</span><a href="#local-6989586621679060225"><span class="hs-identifier hs-var">ffilister</span></a></span><span>
+</span><a href="#local-6989586621679060651"><span class="hs-identifier hs-var">ffilister</span></a></span><span>
 </span><span id="line-541"></span><span>          </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. b -&gt; Either a b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">Right</span></a></span><span> </span><span class="annot"><span class="annottext">Lister
-</span><a href="#local-6989586621679060224"><span class="hs-identifier hs-var">lister</span></a></span><span>
+</span><a href="#local-6989586621679060650"><span class="hs-identifier hs-var">lister</span></a></span><span>
 </span><span id="line-542"></span><span>        </span><span class="hs-keyword">else</span><span> </span><span class="hs-keyword">do</span><span>
-</span><span id="line-543"></span><span>          </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679060221"><span class="annot"><span class="annottext">code :: ErrorCode
-</span><a href="#local-6989586621679060221"><span class="hs-identifier hs-var hs-var">code</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; ErrorCode
+</span><span id="line-543"></span><span>          </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679060647"><span class="annot"><span class="annottext">code :: ErrorCode
+</span><a href="#local-6989586621679060647"><span class="hs-identifier hs-var hs-var">code</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; ErrorCode
 </span><a href="OpenDAL.html#parseErrorCode"><span class="hs-identifier hs-var">parseErrorCode</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (Integral a, Num b) =&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; CUInt
 </span><a href="OpenDAL.FFI.html#ffiCode"><span class="hs-identifier hs-var">ffiCode</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult (Ptr RawLister)
-</span><a href="#local-6989586621679060226"><span class="hs-identifier hs-var">ffiResult</span></a></span><span>
-</span><span id="line-544"></span><span>          </span><span id="local-6989586621679060220"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060220"><span class="hs-identifier hs-var">errMsg</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO String
+</span><a href="#local-6989586621679060652"><span class="hs-identifier hs-var">ffiResult</span></a></span><span>
+</span><span id="line-544"></span><span>          </span><span id="local-6989586621679060646"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060646"><span class="hs-identifier hs-var">errMsg</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO String
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peekCString</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; CString
 </span><a href="OpenDAL.FFI.html#errorMessage"><span class="hs-identifier hs-var">errorMessage</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult (Ptr RawLister)
-</span><a href="#local-6989586621679060226"><span class="hs-identifier hs-var">ffiResult</span></a></span><span class="hs-special">)</span><span>
+</span><a href="#local-6989586621679060652"><span class="hs-identifier hs-var">ffiResult</span></a></span><span class="hs-special">)</span><span>
 </span><span id="line-545"></span><span>          </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. a -&gt; Either a b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">Left</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">ErrorCode -&gt; String -&gt; OpenDALError
 </span><a href="OpenDAL.html#OpenDALError"><span class="hs-identifier hs-var">OpenDALError</span></a></span><span> </span><span class="annot"><span class="annottext">ErrorCode
-</span><a href="#local-6989586621679060221"><span class="hs-identifier hs-var">code</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060220"><span class="hs-identifier hs-var">errMsg</span></a></span><span>
+</span><a href="#local-6989586621679060647"><span class="hs-identifier hs-var">code</span></a></span><span> </span><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060646"><span class="hs-identifier hs-var">errMsg</span></a></span><span>
 </span><span id="line-546"></span><span>
 </span><span id="line-547"></span><span class="hs-comment">-- | Get next entry path from `Lister`.</span><span>
 </span><span id="line-548"></span><span class="annot"><a href="OpenDAL.html#nextLister"><span class="hs-identifier hs-type">nextLister</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="OpenDAL.html#Lister"><span class="hs-identifier hs-type">Lister</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/ghc-p [...]
 </span><span id="line-549"></span><span id="nextLister"><span class="annot"><span class="annottext">nextLister :: Lister -&gt; IO (Either OpenDALError (Maybe String))
-</span><a href="OpenDAL.html#nextLister"><span class="hs-identifier hs-var hs-var">nextLister</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="OpenDAL.html#Lister"><span class="hs-identifier hs-type">Lister</span></a></span><span> </span><span id="local-6989586621679060219"><span class="annot"><span class="annottext">ForeignPtr RawLister
-</span><a href="#local-6989586621679060219"><span class="hs-identifier hs-var">lister</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall a b. ForeignPtr a -&gt; (Ptr a -&gt; IO b) -&gt; IO b
+</span><a href="OpenDAL.html#nextLister"><span class="hs-identifier hs-var hs-var">nextLister</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="OpenDAL.html#Lister"><span class="hs-identifier hs-type">Lister</span></a></span><span> </span><span id="local-6989586621679060645"><span class="annot"><span class="annottext">ForeignPtr RawLister
+</span><a href="#local-6989586621679060645"><span class="hs-identifier hs-var">lister</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">forall a b. ForeignPtr a -&gt; (Ptr a -&gt; IO b) -&gt; IO b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">withForeignPtr</span></a></span><span> </span><span class="annot"><span class="annottext">ForeignPtr RawLister
-</span><a href="#local-6989586621679060219"><span class="hs-identifier hs-var">lister</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060218"><span class="annot"><span class="annottext">Ptr RawLister
-</span><a href="#local-6989586621679060218"><span class="hs-identifier hs-var">listerptr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
+</span><a href="#local-6989586621679060645"><span class="hs-identifier hs-var">lister</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060644"><span class="annot"><span class="annottext">Ptr RawLister
+</span><a href="#local-6989586621679060644"><span class="hs-identifier hs-var">listerptr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
 </span><span id="line-550"></span><span>  </span><span class="annot"><span class="annottext">forall a b. Storable a =&gt; (Ptr a -&gt; IO b) -&gt; IO b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">alloca</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
-</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060217"><span class="annot"><span class="annottext">Ptr (FFIResult CString)
-</span><a href="#local-6989586621679060217"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
+</span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679060643"><span class="annot"><span class="annottext">Ptr (FFIResult CString)
+</span><a href="#local-6989586621679060643"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
 </span><span id="line-551"></span><span>    </span><span class="annot"><span class="annottext">Ptr RawLister -&gt; Ptr (FFIResult CString) -&gt; IO ()
 </span><a href="OpenDAL.FFI.html#c_lister_next"><span class="hs-identifier hs-var">c_lister_next</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr RawLister
-</span><a href="#local-6989586621679060218"><span class="hs-identifier hs-var">listerptr</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult CString)
-</span><a href="#local-6989586621679060217"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
-</span><span id="line-552"></span><span>    </span><span id="local-6989586621679060215"><span class="annot"><span class="annottext">FFIResult CString
-</span><a href="#local-6989586621679060215"><span class="hs-identifier hs-var">ffiResult</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; Ptr a -&gt; IO a
+</span><a href="#local-6989586621679060644"><span class="hs-identifier hs-var">listerptr</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult CString)
+</span><a href="#local-6989586621679060643"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
+</span><span id="line-552"></span><span>    </span><span id="local-6989586621679060641"><span class="annot"><span class="annottext">FFIResult CString
+</span><a href="#local-6989586621679060641"><span class="hs-identifier hs-var">ffiResult</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; Ptr a -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peek</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr (FFIResult CString)
-</span><a href="#local-6989586621679060217"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
+</span><a href="#local-6989586621679060643"><span class="hs-identifier hs-var">ffiResultPtr</span></a></span><span>
 </span><span id="line-553"></span><span>    </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; CUInt
 </span><a href="OpenDAL.FFI.html#ffiCode"><span class="hs-identifier hs-var">ffiCode</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult CString
-</span><a href="#local-6989586621679060215"><span class="hs-identifier hs-var">ffiResult</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Eq a =&gt; a -&gt; a -&gt; Bool
+</span><a href="#local-6989586621679060641"><span class="hs-identifier hs-var">ffiResult</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. Eq a =&gt; a -&gt; a -&gt; Bool
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/ghc-prim-0.8.0/src"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">CUInt
 </span><span class="hs-number">0</span></span><span>
 </span><span id="line-554"></span><span>      </span><span class="hs-keyword">then</span><span> </span><span class="hs-keyword">do</span><span>
-</span><span id="line-555"></span><span>        </span><span id="local-6989586621679060214"><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060214"><span class="hs-identifier hs-var">val</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; Ptr a -&gt; IO a
+</span><span id="line-555"></span><span>        </span><span id="local-6989586621679060640"><span class="annot"><span class="annottext">CString
+</span><a href="#local-6989586621679060640"><span class="hs-identifier hs-var">val</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">forall a. Storable a =&gt; Ptr a -&gt; IO a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peek</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; Ptr a
 </span><a href="OpenDAL.FFI.html#dataPtr"><span class="hs-identifier hs-var">dataPtr</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult CString
-</span><a href="#local-6989586621679060215"><span class="hs-identifier hs-var">ffiResult</span></a></span><span>
+</span><a href="#local-6989586621679060641"><span class="hs-identifier hs-var">ffiResult</span></a></span><span>
 </span><span id="line-556"></span><span>        </span><span class="annot"><span class="annottext">forall a b. b -&gt; Either a b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">Right</span></a></span><span> </span><span class="annot"><span class="annottext">forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">&lt;$&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO (Maybe String)
 </span><a href="OpenDAL.html#parseCString"><span class="hs-identifier hs-var">parseCString</span></a></span><span> </span><span class="annot"><span class="annottext">CString
-</span><a href="#local-6989586621679060214"><span class="hs-identifier hs-var">val</span></a></span><span>
+</span><a href="#local-6989586621679060640"><span class="hs-identifier hs-var">val</span></a></span><span>
 </span><span id="line-557"></span><span>      </span><span class="hs-keyword">else</span><span> </span><span class="hs-keyword">do</span><span>
-</span><span id="line-558"></span><span>        </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679060211"><span class="annot"><span class="annottext">code :: ErrorCode
-</span><a href="#local-6989586621679060211"><span class="hs-identifier hs-var hs-var">code</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; ErrorCode
+</span><span id="line-558"></span><span>        </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679060637"><span class="annot"><span class="annottext">code :: ErrorCode
+</span><a href="#local-6989586621679060637"><span class="hs-identifier hs-var hs-var">code</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Int -&gt; ErrorCode
 </span><a href="OpenDAL.html#parseErrorCode"><span class="hs-identifier hs-var">parseErrorCode</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (Integral a, Num b) =&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; CUInt
 </span><a href="OpenDAL.FFI.html#ffiCode"><span class="hs-identifier hs-var">ffiCode</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult CString
-</span><a href="#local-6989586621679060215"><span class="hs-identifier hs-var">ffiResult</span></a></span><span>
-</span><span id="line-559"></span><span>        </span><span id="local-6989586621679060210"><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060210"><span class="hs-identifier hs-var">errMsg</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO String
+</span><a href="#local-6989586621679060641"><span class="hs-identifier hs-var">ffiResult</span></a></span><span>
+</span><span id="line-559"></span><span>        </span><span id="local-6989586621679060636"><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060636"><span class="hs-identifier hs-var">errMsg</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CString -&gt; IO String
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">peekCString</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">forall a. FFIResult a -&gt; CString
 </span><a href="OpenDAL.FFI.html#errorMessage"><span class="hs-identifier hs-var">errorMessage</span></a></span><span> </span><span class="annot"><span class="annottext">FFIResult CString
-</span><a href="#local-6989586621679060215"><span class="hs-identifier hs-var">ffiResult</span></a></span><span class="hs-special">)</span><span>
+</span><a href="#local-6989586621679060641"><span class="hs-identifier hs-var">ffiResult</span></a></span><span class="hs-special">)</span><span>
 </span><span id="line-560"></span><span>        </span><span class="annot"><span class="annottext">forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. a -&gt; Either a b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-identifier hs-var">Left</span></a></span><span> </span><span class="annot"><span class="annottext">forall a b. (a -&gt; b) -&gt; a -&gt; b
 </span><a href="../file:///usr/local/.ghcup/ghc/9.2.8/share/doc/ghc-9.2.8/html/libraries/base-4.16.4.0/src"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">ErrorCode -&gt; String -&gt; OpenDALError
 </span><a href="OpenDAL.html#OpenDALError"><span class="hs-identifier hs-var">OpenDALError</span></a></span><span> </span><span class="annot"><span class="annottext">ErrorCode
-</span><a href="#local-6989586621679060211"><span class="hs-identifier hs-var">code</span></a></span><span> </span><span class="annot"><span class="annottext">String
-</span><a href="#local-6989586621679060210"><span class="hs-identifier hs-var">errMsg</span></a></span></pre></body></html>
\ No newline at end of file
+</span><a href="#local-6989586621679060637"><span class="hs-identifier hs-var">code</span></a></span><span> </span><span class="annot"><span class="annottext">String
+</span><a href="#local-6989586621679060636"><span class="hs-identifier hs-var">errMsg</span></a></span></pre></body></html>
\ No newline at end of file
diff --git a/docs/lua/classes/opendal.metadata.html b/docs/lua/classes/opendal.metadata.html
index 8a646ad44..b28075f61 100644
--- a/docs/lua/classes/opendal.metadata.html
+++ b/docs/lua/classes/opendal.metadata.html
@@ -138,7 +138,7 @@
 </div> <!-- id="main" -->
 <div id="about">
 <i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
-<i style="float:right;">Last updated 2023-10-11 06:31:51 </i>
+<i style="float:right;">Last updated 2023-10-12 04:30:10 </i>
 </div> <!-- id="about" -->
 </div> <!-- id="container" -->
 </body>
diff --git a/docs/lua/classes/opendal.operator.html b/docs/lua/classes/opendal.operator.html
index c5a3c9d9c..308dbfe80 100644
--- a/docs/lua/classes/opendal.operator.html
+++ b/docs/lua/classes/opendal.operator.html
@@ -321,7 +321,7 @@
 </div> <!-- id="main" -->
 <div id="about">
 <i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
-<i style="float:right;">Last updated 2023-10-11 06:31:51 </i>
+<i style="float:right;">Last updated 2023-10-12 04:30:10 </i>
 </div> <!-- id="about" -->
 </div> <!-- id="container" -->
 </body>
diff --git a/docs/lua/index.html b/docs/lua/index.html
index 4dbd06496..c42609378 100644
--- a/docs/lua/index.html
+++ b/docs/lua/index.html
@@ -57,7 +57,7 @@
 </div> <!-- id="main" -->
 <div id="about">
 <i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
-<i style="float:right;">Last updated 2023-10-11 06:31:51 </i>
+<i style="float:right;">Last updated 2023-10-12 04:30:10 </i>
 </div> <!-- id="about" -->
 </div> <!-- id="container" -->
 </body>
diff --git a/docs/nodejs/classes/BlockingLister.html b/docs/nodejs/classes/BlockingLister.html
index 9b4694522..3bd0b4169 100644
--- a/docs/nodejs/classes/BlockingLister.html
+++ b/docs/nodejs/classes/BlockingLister.html
@@ -20,7 +20,7 @@
 <ul class="tsd-hierarchy">
 <li><span class="target">BlockingLister</span></li></ul></section><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L435">index.d.ts:435</a></li></ul></aside>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L435">index.d.ts:435</a></li></ul></aside>
 <section class="tsd-panel-group tsd-index-group">
 <section class="tsd-panel tsd-index-panel">
 <details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
@@ -51,7 +51,7 @@
 <li class="tsd-description">
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a href="Entry.html" class="tsd-signature-type tsd-kind-class">Entry</a></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L436">index.d.ts:436</a></li></ul></aside></li></ul></section></section></div>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L436">index.d.ts:436</a></li></ul></aside></li></ul></section></section></div>
 <div class="col-sidebar">
 <div class="page-menu">
 <div class="tsd-navigation settings">
diff --git a/docs/nodejs/classes/Entry.html b/docs/nodejs/classes/Entry.html
index 287f878cb..542c00605 100644
--- a/docs/nodejs/classes/Entry.html
+++ b/docs/nodejs/classes/Entry.html
@@ -20,7 +20,7 @@
 <ul class="tsd-hierarchy">
 <li><span class="target">Entry</span></li></ul></section><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L398">index.d.ts:398</a></li></ul></aside>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L398">index.d.ts:398</a></li></ul></aside>
 <section class="tsd-panel-group tsd-index-group">
 <section class="tsd-panel tsd-index-panel">
 <details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
@@ -53,7 +53,7 @@
 </div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L400">index.d.ts:400</a></li></ul></aside></li></ul></section></section></div>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L400">index.d.ts:400</a></li></ul></aside></li></ul></section></section></div>
 <div class="col-sidebar">
 <div class="page-menu">
 <div class="tsd-navigation settings">
diff --git a/docs/nodejs/classes/Lister.html b/docs/nodejs/classes/Lister.html
index 5e96a3131..ad0d20cf2 100644
--- a/docs/nodejs/classes/Lister.html
+++ b/docs/nodejs/classes/Lister.html
@@ -20,7 +20,7 @@
 <ul class="tsd-hierarchy">
 <li><span class="target">Lister</span></li></ul></section><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L424">index.d.ts:424</a></li></ul></aside>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L424">index.d.ts:424</a></li></ul></aside>
 <section class="tsd-panel-group tsd-index-group">
 <section class="tsd-panel tsd-index-panel">
 <details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
@@ -57,7 +57,7 @@ thing internally.</p>
 </div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a href="Entry.html" class="tsd-signature-type tsd-kind-class">Entry</a><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L433">index.d.ts:433</a></li></ul></aside></li></ul></section></section></div>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L433">index.d.ts:433</a></li></ul></aside></li></ul></section></section></div>
 <div class="col-sidebar">
 <div class="page-menu">
 <div class="tsd-navigation settings">
diff --git a/docs/nodejs/classes/Metadata.html b/docs/nodejs/classes/Metadata.html
index 9a0fbe6e8..29571b277 100644
--- a/docs/nodejs/classes/Metadata.html
+++ b/docs/nodejs/classes/Metadata.html
@@ -20,7 +20,7 @@
 <ul class="tsd-hierarchy">
 <li><span class="target">Metadata</span></li></ul></section><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L402">index.d.ts:402</a></li></ul></aside>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L402">index.d.ts:402</a></li></ul></aside>
 <section class="tsd-panel-group tsd-index-group">
 <section class="tsd-panel tsd-index-panel">
 <details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
@@ -63,7 +63,7 @@
 </div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L408">index.d.ts:408</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L408">index.d.ts:408</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member"><a id="contentLength" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>content<wbr/>Length</span><a href="#contentLength" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -73,7 +73,7 @@
 </div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">bigint</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L410">index.d.ts:410</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L410">index.d.ts:410</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member"><a id="contentMd5" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>content<wbr/>Md5</span><a href="#contentMd5" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -83,7 +83,7 @@
 </div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L412">index.d.ts:412</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L412">index.d.ts:412</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member"><a id="contentType" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>content<wbr/>Type</span><a href="#contentType" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -93,7 +93,7 @@
 </div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L414">index.d.ts:414</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L414">index.d.ts:414</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member"><a id="etag" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>etag</span><a href="#etag" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -103,7 +103,7 @@
 </div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L416">index.d.ts:416</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L416">index.d.ts:416</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member"><a id="lastModified" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>last<wbr/>Modified</span><a href="#lastModified" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -114,7 +114,7 @@
 </div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L422">index.d.ts:422</a></li></ul></aside></li></ul></section></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L422">index.d.ts:422</a></li></ul></aside></li></ul></section></section>
 <section class="tsd-panel-group tsd-member-group">
 <h2>Methods</h2>
 <section class="tsd-panel tsd-member"><a id="isDirectory" class="tsd-anchor"></a>
@@ -126,7 +126,7 @@
 </div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L404">index.d.ts:404</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L404">index.d.ts:404</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member"><a id="isFile" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>is<wbr/>File</span><a href="#isFile" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -136,7 +136,7 @@
 </div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L406">index.d.ts:406</a></li></ul></aside></li></ul></section></section></div>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L406">index.d.ts:406</a></li></ul></aside></li></ul></section></section></div>
 <div class="col-sidebar">
 <div class="page-menu">
 <div class="tsd-navigation settings">
diff --git a/docs/nodejs/classes/Operator.html b/docs/nodejs/classes/Operator.html
index 97fd8ff56..b70630ff8 100644
--- a/docs/nodejs/classes/Operator.html
+++ b/docs/nodejs/classes/Operator.html
@@ -20,7 +20,7 @@
 <ul class="tsd-hierarchy">
 <li><span class="target">Operator</span></li></ul></section><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L33">index.d.ts:33</a></li></ul></aside>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L33">index.d.ts:33</a></li></ul></aside>
 <section class="tsd-panel-group tsd-index-group">
 <section class="tsd-panel tsd-index-panel">
 <details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
@@ -79,7 +79,7 @@
 <h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">options</span>: <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type ">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span></h5></li></ul></div>
 <h4 class="tsd-returns-title">Returns <a href="Operator.html" class="tsd-signature-type tsd-kind-class">Operator</a></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L35">index.d.ts:35</a></li></ul></aside></li></ul></section></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L35">index.d.ts:35</a></li></ul></aside></li></ul></section></section>
 <section class="tsd-panel-group tsd-member-group">
 <h2>Methods</h2>
 <section class="tsd-panel tsd-member"><a id="append" class="tsd-anchor"></a>
@@ -104,7 +104,7 @@
 <h5><span class="tsd-kind-parameter">content</span>: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type ">Buffer</span></h5></li></ul></div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L170">index.d.ts:170</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L170">index.d.ts:170</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member"><a id="check" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>check</span><a href="#check" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -117,7 +117,7 @@
 </div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L78">index.d.ts:78</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L78">index.d.ts:78</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member"><a id="copy" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>copy</span><a href="#copy" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -136,7 +136,7 @@
 <h5><span class="tsd-kind-parameter">to</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L179">index.d.ts:179</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L179">index.d.ts:179</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member"><a id="copySync" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>copy<wbr/>Sync</span><a href="#copySync" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -155,7 +155,7 @@
 <h5><span class="tsd-kind-parameter">to</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L188">index.d.ts:188</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L188">index.d.ts:188</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member"><a id="createDir" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>create<wbr/>Dir</span><a href="#createDir" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -172,7 +172,7 @@
 <h5><span class="tsd-kind-parameter">path</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L105">index.d.ts:105</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L105">index.d.ts:105</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member"><a id="createDirSync" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>create<wbr/>Dir<wbr/>Sync</span><a href="#createDirSync" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -189,7 +189,7 @@
 <h5><span class="tsd-kind-parameter">path</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L114">index.d.ts:114</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L114">index.d.ts:114</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member"><a id="delete" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>delete</span><a href="#delete" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -207,7 +207,7 @@
 <h5><span class="tsd-kind-parameter">path</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L269">index.d.ts:269</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L269">index.d.ts:269</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member"><a id="deleteSync" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>delete<wbr/>Sync</span><a href="#deleteSync" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -224,7 +224,7 @@
 <h5><span class="tsd-kind-parameter">path</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L278">index.d.ts:278</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L278">index.d.ts:278</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member"><a id="isExist" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>is<wbr/>Exist</span><a href="#isExist" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -241,7 +241,7 @@
 <h5><span class="tsd-kind-parameter">path</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L87">index.d.ts:87</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L87">index.d.ts:87</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member"><a id="isExistSync" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>is<wbr/>Exist<wbr/>Sync</span><a href="#isExistSync" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -258,7 +258,7 @@
 <h5><span class="tsd-kind-parameter">path</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L96">index.d.ts:96</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L96">index.d.ts:96</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member"><a id="list" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>list</span><a href="#list" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -277,7 +277,7 @@
 <h5><span class="tsd-kind-parameter">path</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="Lister.html" class="tsd-signature-type tsd-kind-class">Lister</a><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L325">index.d.ts:325</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L325">index.d.ts:325</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member"><a id="listSync" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>list<wbr/>Sync</span><a href="#listSync" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -296,7 +296,7 @@
 <h5><span class="tsd-kind-parameter">path</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div>
 <h4 class="tsd-returns-title">Returns <a href="BlockingLister.html" class="tsd-signature-type tsd-kind-class">BlockingLister</a></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L348">index.d.ts:348</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L348">index.d.ts:348</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member"><a id="presignRead" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>presign<wbr/>Read</span><a href="#presignRead" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -316,7 +316,7 @@
 <h5><span class="tsd-kind-parameter">expires</span>: <span class="tsd-signature-type">number</span></h5></li></ul></div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/PresignedRequest.html" class="tsd-signature-type tsd-kind-interface">PresignedRequest</a><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L364">index.d.ts:364</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L364">index.d.ts:364</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member"><a id="presignStat" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>presign<wbr/>Stat</span><a href="#presignStat" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -336,7 +336,7 @@
 <h5><span class="tsd-kind-parameter">expires</span>: <span class="tsd-signature-type">number</span></h5></li></ul></div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/PresignedRequest.html" class="tsd-signature-type tsd-kind-interface">PresignedRequest</a><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L396">index.d.ts:396</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L396">index.d.ts:396</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member"><a id="presignWrite" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>presign<wbr/>Write</span><a href="#presignWrite" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -356,7 +356,7 @@
 <h5><span class="tsd-kind-parameter">expires</span>: <span class="tsd-signature-type">number</span></h5></li></ul></div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/PresignedRequest.html" class="tsd-signature-type tsd-kind-interface">PresignedRequest</a><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L380">index.d.ts:380</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L380">index.d.ts:380</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member"><a id="read" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>read</span><a href="#read" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -373,7 +373,7 @@
 <h5><span class="tsd-kind-parameter">path</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type ">Buffer</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L123">index.d.ts:123</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L123">index.d.ts:123</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member"><a id="readSync" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>read<wbr/>Sync</span><a href="#readSync" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -390,7 +390,7 @@
 <h5><span class="tsd-kind-parameter">path</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Buffer</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L132">index.d.ts:132</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L132">index.d.ts:132</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member"><a id="remove" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>remove</span><a href="#remove" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -408,7 +408,7 @@
 <h5><span class="tsd-kind-parameter">paths</span>: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></h5></li></ul></div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L290">index.d.ts:290</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L290">index.d.ts:290</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member"><a id="removeAll" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>remove<wbr/>All</span><a href="#removeAll" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -426,7 +426,7 @@
 <h5><span class="tsd-kind-parameter">path</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L302">index.d.ts:302</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L302">index.d.ts:302</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member"><a id="rename" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>rename</span><a href="#rename" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -446,7 +446,7 @@
 <h5><span class="tsd-kind-parameter">to</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L199">index.d.ts:199</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L199">index.d.ts:199</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member"><a id="renameSync" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>rename<wbr/>Sync</span><a href="#renameSync" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -466,7 +466,7 @@
 <h5><span class="tsd-kind-parameter">to</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L210">index.d.ts:210</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L210">index.d.ts:210</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member"><a id="scan" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>scan</span><a href="#scan" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -485,7 +485,7 @@
 <h5><span class="tsd-kind-parameter">path</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="Lister.html" class="tsd-signature-type tsd-kind-class">Lister</a><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L234">index.d.ts:234</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L234">index.d.ts:234</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member"><a id="scanSync" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>scan<wbr/>Sync</span><a href="#scanSync" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -504,7 +504,7 @@
 <h5><span class="tsd-kind-parameter">path</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div>
 <h4 class="tsd-returns-title">Returns <a href="BlockingLister.html" class="tsd-signature-type tsd-kind-class">BlockingLister</a></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L257">index.d.ts:257</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L257">index.d.ts:257</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member"><a id="stat" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>stat</span><a href="#stat" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -527,7 +527,7 @@
 <h5><span class="tsd-kind-parameter">path</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="Metadata.html" class="tsd-signature-type tsd-kind-class">Metadata</a><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L55">index.d.ts:55</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L55">index.d.ts:55</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member"><a id="statSync" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>stat<wbr/>Sync</span><a href="#statSync" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -544,7 +544,7 @@
 <h5><span class="tsd-kind-parameter">path</span>: <span class="tsd-signature-type">string</span></h5></li></ul></div>
 <h4 class="tsd-returns-title">Returns <a href="Metadata.html" class="tsd-signature-type tsd-kind-class">Metadata</a></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L67">index.d.ts:67</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L67">index.d.ts:67</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member"><a id="write" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>write</span><a href="#write" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -563,7 +563,7 @@
 <h5><span class="tsd-kind-parameter">content</span>: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type ">Buffer</span></h5></li></ul></div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L143">index.d.ts:143</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L143">index.d.ts:143</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member"><a id="writeSync" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>write<wbr/>Sync</span><a href="#writeSync" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -582,7 +582,7 @@
 <h5><span class="tsd-kind-parameter">content</span>: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type ">Buffer</span></h5></li></ul></div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L154">index.d.ts:154</a></li></ul></aside></li></ul></section></section></div>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L154">index.d.ts:154</a></li></ul></aside></li></ul></section></section></div>
 <div class="col-sidebar">
 <div class="page-menu">
 <div class="tsd-navigation settings">
diff --git a/docs/nodejs/interfaces/PresignedRequest.html b/docs/nodejs/interfaces/PresignedRequest.html
index afc8bb0d1..7c9724994 100644
--- a/docs/nodejs/interfaces/PresignedRequest.html
+++ b/docs/nodejs/interfaces/PresignedRequest.html
@@ -20,7 +20,7 @@
 <ul class="tsd-hierarchy">
 <li><span class="target">PresignedRequest</span></li></ul></section><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L25">index.d.ts:25</a></li></ul></aside>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L25">index.d.ts:25</a></li></ul></aside>
 <section class="tsd-panel-group tsd-index-group">
 <section class="tsd-panel tsd-index-panel">
 <details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
@@ -40,21 +40,21 @@
 <div class="tsd-comment tsd-typography"><p>HTTP headers of this request.</p>
 </div><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L31">index.d.ts:31</a></li></ul></aside></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L31">index.d.ts:31</a></li></ul></aside></section>
 <section class="tsd-panel tsd-member"><a id="method" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>method</span><a href="#method" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <div class="tsd-signature"><span class="tsd-kind-property">method</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
 <div class="tsd-comment tsd-typography"><p>HTTP method of this request.</p>
 </div><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L27">index.d.ts:27</a></li></ul></aside></section>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L27">index.d.ts:27</a></li></ul></aside></section>
 <section class="tsd-panel tsd-member"><a id="url" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>url</span><a href="#url" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <div class="tsd-signature"><span class="tsd-kind-property">url</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
 <div class="tsd-comment tsd-typography"><p>URL of this request.</p>
 </div><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/cf17729/bindings/nodejs/index.d.ts#L29">index.d.ts:29</a></li></ul></aside></section></section></div>
+<li>Defined in <a href="https://github.com/apache/incubator-opendal/blob/044cf64/bindings/nodejs/index.d.ts#L29">index.d.ts:29</a></li></ul></aside></section></section></div>
 <div class="col-sidebar">
 <div class="page-menu">
 <div class="tsd-navigation settings">
diff --git a/docs/overview/index.html b/docs/overview/index.html
index 0fe6e1be0..2f6af5a55 100644
--- a/docs/overview/index.html
+++ b/docs/overview/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">Welcome to Apache OpenDAL | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/docs/overview"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="cu [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/python/opendal.html b/docs/python/opendal.html
index 33582cd60..5f91261d0 100644
--- a/docs/python/opendal.html
+++ b/docs/python/opendal.html
@@ -165,13 +165,10 @@
                     <a class="class" href="#Metadata">Metadata</a>
                             <ul class="memberlist">
                         <li>
-                                <a class="variable" href="#Metadata.mode">mode</a>
-                        </li>
-                        <li>
-                                <a class="variable" href="#Metadata.content_type">content_type</a>
+                                <a class="variable" href="#Metadata.content_disposition">content_disposition</a>
                         </li>
                         <li>
-                                <a class="variable" href="#Metadata.content_disposition">content_disposition</a>
+                                <a class="variable" href="#Metadata.mode">mode</a>
                         </li>
                         <li>
                                 <a class="variable" href="#Metadata.content_length">content_length</a>
@@ -182,6 +179,9 @@
                         <li>
                                 <a class="variable" href="#Metadata.etag">etag</a>
                         </li>
+                        <li>
+                                <a class="variable" href="#Metadata.content_type">content_type</a>
+                        </li>
                 </ul>
 
             </li>
@@ -189,13 +189,13 @@
                     <a class="class" href="#PresignedRequest">PresignedRequest</a>
                             <ul class="memberlist">
                         <li>
-                                <a class="variable" href="#PresignedRequest.method">method</a>
+                                <a class="variable" href="#PresignedRequest.headers">headers</a>
                         </li>
                         <li>
                                 <a class="variable" href="#PresignedRequest.url">url</a>
                         </li>
                         <li>
-                                <a class="variable" href="#PresignedRequest.headers">headers</a>
+                                <a class="variable" href="#PresignedRequest.method">method</a>
                         </li>
                 </ul>
 
@@ -350,7 +350,7 @@ opendal    </h1>
                                 <div class="attr function">
             
         <span class="def">def</span>
-        <span class="name">write</span><span class="signature pdoc-code condensed">(<span class="param"><span class="bp">self</span>, </span><span class="param"><span class="n">path</span><span class="p">:</span> <span class="nb">str</span>, </span><span class="param"><span class="n">bs</span><span class="p">:</span> <span class="nb">bytes</span></span><span class="return-annotation">):</span></span>
+        <span class="name">write</span><span class="signature pdoc-code multiline">(<span class="param">	<span class="bp">self</span>,</span><span class="param">	<span class="n">path</span><span class="p">:</span> <span class="nb">str</span>,</span><span class="param">	<span class="n">bs</span><span class="p">:</span> <span class="nb">bytes</span>,</span><span class="param">	<span class="n">append</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span  [...]
 
         
     </div>
@@ -605,7 +605,7 @@ The default value for whence is <code>SEEK_SET</code>. Values for <code>whence</
                                 <div class="attr function">
             
         <span class="def">async def</span>
-        <span class="name">write</span><span class="signature pdoc-code condensed">(<span class="param"><span class="bp">self</span>, </span><span class="param"><span class="n">path</span><span class="p">:</span> <span class="nb">str</span>, </span><span class="param"><span class="n">bs</span><span class="p">:</span> <span class="nb">bytes</span></span><span class="return-annotation">):</span></span>
+        <span class="name">write</span><span class="signature pdoc-code multiline">(<span class="param">	<span class="bp">self</span>,</span><span class="param">	<span class="n">path</span><span class="p">:</span> <span class="nb">str</span>,</span><span class="param">	<span class="n">bs</span><span class="p">:</span> <span class="nb">bytes</span>,</span><span class="param">	<span class="n">append</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span  [...]
 
         
     </div>
@@ -924,42 +924,29 @@ The default value for whence is <code>SEEK_SET</code>. Values for <code>whence</
     
     
 
-                            <div id="Metadata.mode" class="classattr">
+                            <div id="Metadata.content_disposition" class="classattr">
                                 <div class="attr variable">
-            <span class="name">mode</span><span class="annotation">: <a href="#EntryMode">EntryMode</a></span>
+            <span class="name">content_disposition</span><span class="annotation">: Optional[str]</span>
 
         
     </div>
-    <a class="headerlink" href="#Metadata.mode"></a>
+    <a class="headerlink" href="#Metadata.content_disposition"></a>
+    
     
-            <div class="docstring"><p>mode represent this entry's mode.</p>
-</div>
-
 
                             </div>
-                            <div id="Metadata.content_type" class="classattr">
+                            <div id="Metadata.mode" class="classattr">
                                 <div class="attr variable">
-            <span class="name">content_type</span><span class="annotation">: Optional[str]</span>
+            <span class="name">mode</span><span class="annotation">: <a href="#EntryMode">EntryMode</a></span>
 
         
     </div>
-    <a class="headerlink" href="#Metadata.content_type"></a>
+    <a class="headerlink" href="#Metadata.mode"></a>
     
-            <div class="docstring"><p>Content Type of this entry.</p>
+            <div class="docstring"><p>mode represent this entry's mode.</p>
 </div>
 
 
-                            </div>
-                            <div id="Metadata.content_disposition" class="classattr">
-                                <div class="attr variable">
-            <span class="name">content_disposition</span><span class="annotation">: Optional[str]</span>
-
-        
-    </div>
-    <a class="headerlink" href="#Metadata.content_disposition"></a>
-    
-    
-
                             </div>
                             <div id="Metadata.content_length" class="classattr">
                                 <div class="attr variable">
@@ -999,6 +986,19 @@ The default value for whence is <code>SEEK_SET</code>. Values for <code>whence</
 </div>
 
 
+                            </div>
+                            <div id="Metadata.content_type" class="classattr">
+                                <div class="attr variable">
+            <span class="name">content_type</span><span class="annotation">: Optional[str]</span>
+
+        
+    </div>
+    <a class="headerlink" href="#Metadata.content_type"></a>
+    
+            <div class="docstring"><p>Content Type of this entry.</p>
+</div>
+
+
                             </div>
                 </section>
                 <section id="PresignedRequest">
@@ -1013,15 +1013,15 @@ The default value for whence is <code>SEEK_SET</code>. Values for <code>whence</
     
     
 
-                            <div id="PresignedRequest.method" class="classattr">
+                            <div id="PresignedRequest.headers" class="classattr">
                                 <div class="attr variable">
-            <span class="name">method</span><span class="annotation">: str</span>
+            <span class="name">headers</span><span class="annotation">: dict[str, str]</span>
 
         
     </div>
-    <a class="headerlink" href="#PresignedRequest.method"></a>
+    <a class="headerlink" href="#PresignedRequest.headers"></a>
     
-            <div class="docstring"><p>Return the HTTP method of this request.</p>
+            <div class="docstring"><p>Return the HTTP headers of this request.</p>
 </div>
 
 
@@ -1039,15 +1039,15 @@ The default value for whence is <code>SEEK_SET</code>. Values for <code>whence</
 
 
                             </div>
-                            <div id="PresignedRequest.headers" class="classattr">
+                            <div id="PresignedRequest.method" class="classattr">
                                 <div class="attr variable">
-            <span class="name">headers</span><span class="annotation">: dict[str, str]</span>
+            <span class="name">method</span><span class="annotation">: str</span>
 
         
     </div>
-    <a class="headerlink" href="#PresignedRequest.headers"></a>
+    <a class="headerlink" href="#PresignedRequest.method"></a>
     
-            <div class="docstring"><p>Return the HTTP headers of this request.</p>
+            <div class="docstring"><p>Return the HTTP method of this request.</p>
 </div>
 
 
diff --git a/docs/python/search.js b/docs/python/search.js
index 8f10d9a75..2d1c69387 100644
--- a/docs/python/search.js
+++ b/docs/python/search.js
@@ -1,6 +1,6 @@
 window.pdocSearch = (function(){
 /** elasticlunr - http://weixsong.github.io * Copyright (C) 2017 Oliver Nightingale * Copyright (C) 2017 Wei Song * MIT Licensed */!function(){function e(e){if(null===e||"object"!=typeof e)return e;var t=e.constructor();for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.9.5",lunr=t,t.utils={},t.utils.warn=function(e){return function(t){e.console&&console.wa [...]
-    /** pdoc search index */const docs = {"version": "0.9.5", "fields": ["qualname", "fullname", "annotation", "default_value", "signature", "bases", "doc"], "ref": "fullname", "documentStore": {"docs": {"opendal": {"fullname": "opendal", "modulename": "opendal", "kind": "module", "doc": "<p>OpenDAL Python binding</p>\n\n<h2 id=\"installation\">Installation</h2>\n\n<div class=\"pdoc-code codehilite\">\n<pre><span></span><code>pip<span class=\"w\"> </span>install<span class=\"w\"> </span> [...]
+    /** pdoc search index */const docs = {"version": "0.9.5", "fields": ["qualname", "fullname", "annotation", "default_value", "signature", "bases", "doc"], "ref": "fullname", "documentStore": {"docs": {"opendal": {"fullname": "opendal", "modulename": "opendal", "kind": "module", "doc": "<p>OpenDAL Python binding</p>\n\n<h2 id=\"installation\">Installation</h2>\n\n<div class=\"pdoc-code codehilite\">\n<pre><span></span><code>pip<span class=\"w\"> </span>install<span class=\"w\"> </span> [...]
 
     // mirrored in build-search-index.js (part 1)
     // Also split on html tags. this is a cheap heuristic, but good enough.
diff --git a/docs/quickstart/index.html b/docs/quickstart/index.html
index 2b84be79a..9f627c7e0 100644
--- a/docs/quickstart/index.html
+++ b/docs/quickstart/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">Quickstart | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/docs/quickstart"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta  [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/services/azblob/index.html b/docs/services/azblob/index.html
index 91c6cc766..a490daea8 100644
--- a/docs/services/azblob/index.html
+++ b/docs/services/azblob/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">Azblob | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/docs/services/azblob"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/services/azdls/index.html b/docs/services/azdls/index.html
index 172934fec..3ee6c22a9 100644
--- a/docs/services/azdls/index.html
+++ b/docs/services/azdls/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">Azdls | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/docs/services/azdls"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta d [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/services/cos/index.html b/docs/services/cos/index.html
index e655f16da..07996df7a 100644
--- a/docs/services/cos/index.html
+++ b/docs/services/cos/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">COS | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/docs/services/cos"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data- [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/services/dashmap/index.html b/docs/services/dashmap/index.html
index b164078d1..ca4d76494 100644
--- a/docs/services/dashmap/index.html
+++ b/docs/services/dashmap/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">DashMap | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/docs/services/dashmap"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><me [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/services/dropbox/index.html b/docs/services/dropbox/index.html
index d2049b2d3..85515b18d 100644
--- a/docs/services/dropbox/index.html
+++ b/docs/services/dropbox/index.html
@@ -5,7 +5,7 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">Dropbox | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/docs/services/dropbox"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><me [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -15,8 +15,8 @@ Please notice its expiration.</li></ul><h4 class="anchor anchorWithStickyNavbar_
 please provide the following fields:</p><ul><li><code>refresh_token</code>: set the refresh_token for dropbox api</li><li><code>client_id</code>: set the client_id for dropbox api</li><li><code>client_secret</code>: set the client_secret for dropbox api</li></ul><p>OpenDAL is a library, it cannot do the first step of OAuth2 for you.
 You need to get authorization code from user by calling Dropbox&#x27;s authorize url
 and exchange it for refresh token.</p><p>Please refer to <a href="https://www.dropbox.com/developers/reference/oauth-guide" target="_blank" rel="noopener noreferrer">Dropbox OAuth2 Guide</a>
-for more information.</p><p>You can refer to <!-- -->[<code>DropboxBuilder</code>]<!-- -->&#x27;s docs for more information</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="example">Example<a href="#example" class="hash-link" aria-label="Direct link to Example" title="Direct link to Example">​</a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="via-builder">Via Builder<a href="#via-builder" class="hash-link" aria-label="Direct link to Via Builder" title="Direct link to Via Bu [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+for more information.</p><p>You can refer to <!-- -->[<code>DropboxBuilder</code>]<!-- -->&#x27;s docs for more information</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="example">Example<a href="#example" class="hash-link" aria-label="Direct link to Example" title="Direct link to Example">​</a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="via-builder">Via Builder<a href="#via-builder" class="hash-link" aria-label="Direct link to Via Builder" title="Direct link to Via Bu [...]
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/services/etcd/index.html b/docs/services/etcd/index.html
index a1be2d1d6..5f9ff20cd 100644
--- a/docs/services/etcd/index.html
+++ b/docs/services/etcd/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">Etcd | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/docs/services/etcd"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta dat [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/services/foundationdb/index.html b/docs/services/foundationdb/index.html
index 186f6c48d..4fde2d1a6 100644
--- a/docs/services/foundationdb/index.html
+++ b/docs/services/foundationdb/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">FoundationDB | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/docs/services/foundationdb"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="cu [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/services/fs/index.html b/docs/services/fs/index.html
index 3d9339357..94e4239b9 100644
--- a/docs/services/fs/index.html
+++ b/docs/services/fs/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">Fs | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/docs/services/fs"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/services/ftp/index.html b/docs/services/ftp/index.html
index b09504e7a..b72763535 100644
--- a/docs/services/ftp/index.html
+++ b/docs/services/ftp/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">FTP | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/docs/services/ftp"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data- [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/services/gcs/index.html b/docs/services/gcs/index.html
index 25daf4d3e..b339bbb2f 100644
--- a/docs/services/gcs/index.html
+++ b/docs/services/gcs/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">Gcs | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/docs/services/gcs"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data- [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/services/gdrive/index.html b/docs/services/gdrive/index.html
index e40780a21..ced07c744 100644
--- a/docs/services/gdrive/index.html
+++ b/docs/services/gdrive/index.html
@@ -5,7 +5,7 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">Gdrive | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/docs/services/gdrive"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -16,8 +16,8 @@ please provide the following fields:</p><ul><li><code>refresh_token</code>: set
 You need to get authorization code from user by calling GoogleDrive&#x27;s authorize url
 and exchange it for refresh token.</p><p>Make sure you have enabled Google Drive API in your Google Cloud Console.
 And your OAuth scope contains <code>https://www.googleapis.com/auth/drive</code>.</p><p>Please refer to <a href="https://developers.google.com/identity/protocols/oauth2/" target="_blank" rel="noopener noreferrer">GoogleDrive OAuth2 Flow</a>
-for more information.</p><p>You can refer to <!-- -->[<code>GdriveBuilder</code>]<!-- -->&#x27;s docs for more information</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="example">Example<a href="#example" class="hash-link" aria-label="Direct link to Example" title="Direct link to Example">​</a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="via-builder">Via Builder<a href="#via-builder" class="hash-link" aria-label="Direct link to Via Builder" title="Direct link to Via Bui [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+for more information.</p><p>You can refer to <!-- -->[<code>GdriveBuilder</code>]<!-- -->&#x27;s docs for more information</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="example">Example<a href="#example" class="hash-link" aria-label="Direct link to Example" title="Direct link to Example">​</a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="via-builder">Via Builder<a href="#via-builder" class="hash-link" aria-label="Direct link to Via Builder" title="Direct link to Via Bui [...]
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/services/hdfs/index.html b/docs/services/hdfs/index.html
index d1dee40e3..50f66e8fd 100644
--- a/docs/services/hdfs/index.html
+++ b/docs/services/hdfs/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">HDFS | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/docs/services/hdfs"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta dat [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/services/http/index.html b/docs/services/http/index.html
index 36e314d15..abc960372 100644
--- a/docs/services/http/index.html
+++ b/docs/services/http/index.html
@@ -5,14 +5,14 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">HTTP | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/docs/services/http"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta dat [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-HTTP Server like nginx, caddy.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="configuration">Configuration<a href="#configuration" class="hash-link" aria-label="Direct link to Configuration" title="Direct link to Configuration">​</a></h2><ul><li><code>endpoint</code>: set the endpoint for http</li><li><code>root</code>: Set the work directory for backend</li></ul><p>You can refer to <!-- -->[<code>HttpBuilder</code>]<!-- -->&#x27;s docs for more information</p><h2 class="anchor an [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+HTTP Server like nginx, caddy.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="configuration">Configuration<a href="#configuration" class="hash-link" aria-label="Direct link to Configuration" title="Direct link to Configuration">​</a></h2><ul><li><code>endpoint</code>: set the endpoint for http</li><li><code>root</code>: Set the work directory for backend</li></ul><p>You can refer to <!-- -->[<code>HttpBuilder</code>]<!-- -->&#x27;s docs for more information</p><h2 class="anchor an [...]
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/services/ipfs/index.html b/docs/services/ipfs/index.html
index bf4e1a1ac..22110884a 100644
--- a/docs/services/ipfs/index.html
+++ b/docs/services/ipfs/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">IPFS | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/docs/services/ipfs"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta dat [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/services/ipmfs/index.html b/docs/services/ipmfs/index.html
index 9b6a8063e..8c60c4de6 100644
--- a/docs/services/ipmfs/index.html
+++ b/docs/services/ipmfs/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">IPMFS | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/docs/services/ipmfs"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta d [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/services/memcached/index.html b/docs/services/memcached/index.html
index 0b900f776..c48264e91 100644
--- a/docs/services/memcached/index.html
+++ b/docs/services/memcached/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">Memcached | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/docs/services/memcached"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current" [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/services/memory/index.html b/docs/services/memory/index.html
index 8301f38bd..d3555fe69 100644
--- a/docs/services/memory/index.html
+++ b/docs/services/memory/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">Memory | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/docs/services/memory"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/services/moka/index.html b/docs/services/moka/index.html
index 5c8333402..ab79cbe3b 100644
--- a/docs/services/moka/index.html
+++ b/docs/services/moka/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">Moka | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/docs/services/moka"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta dat [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/services/obs/index.html b/docs/services/obs/index.html
index 817ff0400..92052ddbb 100644
--- a/docs/services/obs/index.html
+++ b/docs/services/obs/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">Obs | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/docs/services/obs"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data- [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/services/onedrive/index.html b/docs/services/onedrive/index.html
index 9a6d38761..37599db60 100644
--- a/docs/services/onedrive/index.html
+++ b/docs/services/onedrive/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">OneDrive | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/docs/services/onedrive"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current">< [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/services/oss/index.html b/docs/services/oss/index.html
index 19af32023..35f6147a8 100644
--- a/docs/services/oss/index.html
+++ b/docs/services/oss/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">OSS | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/docs/services/oss"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data- [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/services/redis/index.html b/docs/services/redis/index.html
index 705d9ee4a..edbb5115f 100644
--- a/docs/services/redis/index.html
+++ b/docs/services/redis/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">Redis | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/docs/services/redis"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta d [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/services/rocksdb/index.html b/docs/services/rocksdb/index.html
index 3712c5158..bf248eaaf 100644
--- a/docs/services/rocksdb/index.html
+++ b/docs/services/rocksdb/index.html
@@ -5,7 +5,7 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">RocksDB | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/docs/services/rocksdb"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><me [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -13,8 +13,8 @@
 <div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
 issues. It is advisable to follow the steps provided in the <a href="https://github.com/facebook/rocksdb/blob/main/INSTALL.md" target="_blank" rel="noopener noreferrer"><code>INSTALL</code></a>
 file to build rocksdb, rather than relying on system libraries that
-may be outdated and incompatible.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="configuration">Configuration<a href="#configuration" class="hash-link" aria-label="Direct link to Configuration" title="Direct link to Configuration">​</a></h2><ul><li><code>root</code>: Set the working directory of <code>OpenDAL</code></li><li><code>datadir</code>: Set the path to the rocksdb data directory</li></ul><p>You can refer to <!-- -->[<code>RocksdbBuilder</code>]<!-- -->&#x27;s docs for mor [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+may be outdated and incompatible.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="configuration">Configuration<a href="#configuration" class="hash-link" aria-label="Direct link to Configuration" title="Direct link to Configuration">​</a></h2><ul><li><code>root</code>: Set the working directory of <code>OpenDAL</code></li><li><code>datadir</code>: Set the path to the rocksdb data directory</li></ul><p>You can refer to <!-- -->[<code>RocksdbBuilder</code>]<!-- -->&#x27;s docs for mor [...]
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/services/s3/index.html b/docs/services/s3/index.html
index 4ef47fb75..b998546d5 100644
--- a/docs/services/s3/index.html
+++ b/docs/services/s3/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">S3 | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/docs/services/s3"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/services/sftp/index.html b/docs/services/sftp/index.html
index faab91d54..8cfbee781 100644
--- a/docs/services/sftp/index.html
+++ b/docs/services/sftp/index.html
@@ -5,14 +5,14 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">SFTP | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/docs/services/sftp"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta dat [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-lots of files, you should pay attention to close the file after using it.</p></div></div><h2 class="anchor anchorWithStickyNavbar_LWe7" id="capabilities">Capabilities<a href="#capabilities" class="hash-link" aria-label="Direct link to Capabilities" title="Direct link to Capabilities">​</a></h2><p>This service can be used to:</p><ul class="contains-task-list containsTaskList_mC6p"><li class="task-list-item"><input type="checkbox" checked="" disabled=""> <!-- -->stat</li><li class="task-li [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+lots of files, you should pay attention to close the file after using it.</p></div></div><h2 class="anchor anchorWithStickyNavbar_LWe7" id="capabilities">Capabilities<a href="#capabilities" class="hash-link" aria-label="Direct link to Capabilities" title="Direct link to Capabilities">​</a></h2><p>This service can be used to:</p><ul class="contains-task-list containsTaskList_mC6p"><li class="task-list-item"><input type="checkbox" checked="" disabled=""> <!-- -->stat</li><li class="task-li [...]
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/services/sled/index.html b/docs/services/sled/index.html
index 30b89f947..31e335122 100644
--- a/docs/services/sled/index.html
+++ b/docs/services/sled/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">Sled | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/docs/services/sled"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta dat [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/services/supabase/index.html b/docs/services/supabase/index.html
index c565ee59f..d62c929db 100644
--- a/docs/services/supabase/index.html
+++ b/docs/services/supabase/index.html
@@ -5,15 +5,15 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">Supabase | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/docs/services/supabase"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current">< [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
 service_role_key(Secret key). The former one can only write public resources while the latter one
-can access all resources. Note that if you want to read public resources, do not set the key.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="example">Example<a href="#example" class="hash-link" aria-label="Direct link to Example" title="Direct link to Example">​</a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="via-builder">Via Builder<a href="#via-builder" class="hash-link" aria-label="Direct link to Via Builder" title="Direct link to Via Builder">​</a></h3><div class="l [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+can access all resources. Note that if you want to read public resources, do not set the key.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="example">Example<a href="#example" class="hash-link" aria-label="Direct link to Example" title="Direct link to Example">​</a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="via-builder">Via Builder<a href="#via-builder" class="hash-link" aria-label="Direct link to Via Builder" title="Direct link to Via Builder">​</a></h3><div class="l [...]
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/services/wasabi/index.html b/docs/services/wasabi/index.html
index 13c81359c..0ceae192e 100644
--- a/docs/services/wasabi/index.html
+++ b/docs/services/wasabi/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">Wasabi | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/docs/services/wasabi"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/services/webdav/index.html b/docs/services/webdav/index.html
index ad217b7f5..8c9e7c921 100644
--- a/docs/services/webdav/index.html
+++ b/docs/services/webdav/index.html
@@ -5,14 +5,14 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">WebDAV | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/docs/services/webdav"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-Users can use <code>webdav</code> to connect those services.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="configuration">Configuration<a href="#configuration" class="hash-link" aria-label="Direct link to Configuration" title="Direct link to Configuration">​</a></h2><ul><li><code>endpoint</code>: set the endpoint for webdav</li><li><code>root</code>: Set the work directory for backend</li></ul><p>You can refer to <!-- -->[<code>WebdavBuilder</code>]<!-- -->&#x27;s docs for more i [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+Users can use <code>webdav</code> to connect those services.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="configuration">Configuration<a href="#configuration" class="hash-link" aria-label="Direct link to Configuration" title="Direct link to Configuration">​</a></h2><ul><li><code>endpoint</code>: set the endpoint for webdav</li><li><code>root</code>: Set the work directory for backend</li></ul><p>You can refer to <!-- -->[<code>WebdavBuilder</code>]<!-- -->&#x27;s docs for more i [...]
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/services/webhdfs/index.html b/docs/services/webhdfs/index.html
index d6e1d74c8..fc2ccc709 100644
--- a/docs/services/webhdfs/index.html
+++ b/docs/services/webhdfs/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">WebHDFS | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/docs/services/webhdfs"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><me [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
-<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/download/index.html b/download/index.html
index d28db2e77..346324562 100644
--- a/download/index.html
+++ b/download/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">Download | Apache OpenDAL</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/download"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="ro [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/index.html b/index.html
index 729aa4ffd..4a0423ba8 100644
--- a/index.html
+++ b/index.html
@@ -5,13 +5,13 @@
 <meta name="generator" content="Docusaurus v2.4.1">
 <title data-rh="true">Apache OpenDAL</title><meta data-rh="true" property="og:title" content="Apache OpenDAL"><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://opendal.apache.org/"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docse [...]
 <link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache OpenDAL Atom Feed"><link rel="stylesheet" href="/assets/css/styles.51c7cd0e.css">
-<link rel="preload" href="/assets/js/runtime~main.f90f3213.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.0bb74d23.js" as="script">
 <link rel="preload" href="/assets/js/main.b308f2c4.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div id="__docusaurus-base-url-issue-banner-container"></div><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria [...]
-<script src="/assets/js/runtime~main.f90f3213.js"></script>
+<script src="/assets/js/runtime~main.0bb74d23.js"></script>
 <script src="/assets/js/main.b308f2c4.js"></script>
 </body>
 </html>
\ No newline at end of file