diff --git a/Extism/JSON.hs b/Extism/JSON.hs
--- a/Extism/JSON.hs
+++ b/Extism/JSON.hs
@@ -68,7 +68,8 @@
 instance JSON Base64 where
   showJSON (Base64 bs) = showJSON (BS.unpack $ B64.encode bs)
   readJSON (JSString s) =
-    let toByteString x = B.pack (Prelude.map c2w x)
-     in case B64.decode (toByteString (fromJSString s)) of
-          Left msg -> Error msg
-          Right d -> Ok (Base64 d)
+    case B64.decode (toByteString (fromJSString s)) of
+      Left msg -> Error msg
+      Right d -> Ok (Base64 d)
+    where
+      toByteString x = B.pack (Prelude.map c2w x)
diff --git a/Extism/Manifest.hs b/Extism/Manifest.hs
--- a/Extism/Manifest.hs
+++ b/Extism/Manifest.hs
@@ -48,11 +48,11 @@
   showJSON req = object $ requestObj req
   readJSON x =
     let url = x .? "url"
-     in let headers = x .? "headers"
-         in let method = x .? "method"
-             in case url of
-                  Null -> Error "Missing 'url' field"
-                  NotNull url -> Ok (HTTPRequest url headers method)
+        headers = x .? "headers"
+        method = x .? "method"
+     in case url of
+          Null -> Error "Missing 'url' field"
+          NotNull url -> Ok (HTTPRequest url headers method)
 
 -- | WASM from file
 data WasmFile = WasmFile
@@ -71,11 +71,11 @@
       ]
   readJSON x =
     let path = x .? "url"
-     in let name = x .? "name"
-         in let hash = x .? "hash"
-             in case path of
-                  Null -> Error "Missing 'path' field"
-                  NotNull path -> Ok (WasmFile path name hash)
+        name = x .? "name"
+        hash = x .? "hash"
+     in case path of
+          Null -> Error "Missing 'path' field"
+          NotNull path -> Ok (WasmFile path name hash)
 
 -- | WASM from raw bytes
 data WasmData = WasmData
@@ -94,14 +94,14 @@
       ]
   readJSON x =
     let d = x .? "data"
-     in let name = x .? "name"
-         in let hash = x .? "hash"
-             in case d of
-                  Null -> Error "Missing 'path' field"
-                  NotNull d ->
-                    case readJSON d of
-                      Error msg -> Error msg
-                      Ok d' -> Ok (WasmData d' name hash)
+        name = x .? "name"
+        hash = x .? "hash"
+     in case d of
+          Null -> Error "Missing 'path' field"
+          NotNull d ->
+            case readJSON d of
+              Error msg -> Error msg
+              Ok d' -> Ok (WasmData d' name hash)
 
 -- | WASM from a URL
 data WasmURL = WasmURL
@@ -120,11 +120,11 @@
       )
   readJSON x =
     let req = x .? "req"
-     in let name = x .? "name"
-         in let hash = x .? "hash"
-             in case fromNullable req of
-                  Nothing -> Error "Missing 'req' field"
-                  Just req -> Ok (WasmURL req name hash)
+        name = x .? "name"
+        hash = x .? "hash"
+     in case fromNullable req of
+          Nothing -> Error "Missing 'req' field"
+          Just req -> Ok (WasmURL req name hash)
 
 -- | Specifies where to get WASM module data
 data Wasm = File WasmFile | Data WasmData | URL WasmURL deriving (Eq, Show)
@@ -136,18 +136,19 @@
       Data d -> showJSON d
       URL u -> showJSON u
   readJSON x =
-    let file = (readJSON x :: Result WasmFile)
-     in case file of
-          Ok x -> Ok (File x)
-          Error _ ->
-            let data' = (readJSON x :: Result WasmData)
-             in case data' of
-                  Ok x -> Ok (Data x)
-                  Error _ ->
-                    let url = (readJSON x :: Result WasmURL)
-                     in case url of
-                          Ok x -> Ok (URL x)
-                          Error _ -> Error "JSON does not match any of the Wasm types"
+    case file of
+      Ok x -> Ok (File x)
+      Error _ ->
+        let data' = (readJSON x :: Result WasmData)
+         in case data' of
+              Ok x -> Ok (Data x)
+              Error _ ->
+                let url = (readJSON x :: Result WasmURL)
+                 in case url of
+                      Ok x -> Ok (URL x)
+                      Error _ -> Error "JSON does not match any of the Wasm types"
+    where
+      file = (readJSON x :: Result WasmFile)
 
 wasmFile :: String -> Wasm
 wasmFile path =
@@ -197,14 +198,14 @@
           ]
   readJSON x =
     let wasm = x .? "wasm"
-     in let memory = x .? "memory"
-         in let config = x .? "config"
-             in let hosts = x .? "allowed_hosts"
-                 in let paths = x .? "allowed_paths"
-                     in let timeout = x .? "timeout_ms"
-                         in case fromNullable wasm of
-                              Nothing -> Error "Missing 'wasm' field"
-                              Just wasm -> Ok (Manifest wasm memory config hosts paths timeout)
+        memory = x .? "memory"
+        config = x .? "config"
+        hosts = x .? "allowed_hosts"
+        paths = x .? "allowed_paths"
+        timeout = x .? "timeout_ms"
+     in case fromNullable wasm of
+          Nothing -> Error "Missing 'wasm' field"
+          Just wasm -> Ok (Manifest wasm memory config hosts paths timeout)
 
 -- | Create a new 'Manifest' from a list of 'Wasm'
 manifest :: [Wasm] -> Manifest
diff --git a/extism-manifest.cabal b/extism-manifest.cabal
--- a/extism-manifest.cabal
+++ b/extism-manifest.cabal
@@ -1,6 +1,6 @@
 cabal-version:      3.0
 name:               extism-manifest
-version:            1.2.0.3
+version:            1.2.1.0
 license:            BSD-3-Clause
 maintainer:         oss@extism.org
 author:             Extism authors
