diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,11 @@
+arduino-copilot (1.7.8) upstream; urgency=medium
+
+  * Update to copilot-3.18.1.
+  * Update stack.yaml files to lts-22.11
+  * Update to sketch-frp-copilot 1.0.10, to fix building with mtl-2.3
+
+ -- Joey Hess <id@joeyh.name>  Thu, 22 Feb 2024 14:05:29 -0400
+
 arduino-copilot (1.7.7) upstream; urgency=medium
 
   * Update to copilot-3.14.
diff --git a/Examples/Blink/stack.yaml b/Examples/Blink/stack.yaml
--- a/Examples/Blink/stack.yaml
+++ b/Examples/Blink/stack.yaml
@@ -1,24 +1,25 @@
 packages:
 - '.'
 - '../..'
-resolver: lts-20.6
-extra-deps: 
-- sketch-frp-copilot-1.0.8
-- copilot-3.14
-- copilot-c99-3.14
-- copilot-core-3.14
-- copilot-language-3.14
-- copilot-libraries-3.14
-- copilot-theorem-3.14
-- copilot-interpreter-3.14
-- copilot-prettyprinter-3.14
-- bv-sized-1.0.4
+resolver: lts-22.11
+extra-deps:
+- sketch-frp-copilot-1.0.10
+- copilot-3.18.1
+- copilot-c99-3.18.1
+- copilot-core-3.18.1
+- copilot-language-3.18.1
+- copilot-libraries-3.18.1
+- copilot-theorem-3.18.1
+- copilot-interpreter-3.18.1
+- copilot-prettyprinter-3.18.1
 - language-c99-0.2.0
-- language-c99-simple-0.2.2
+- language-c99-simple-0.3.0
+- language-c99-util-0.2.0
+- bv-sized-1.0.5
 - panic-0.4.0.1
-- parameterized-utils-2.1.6.0
-- what4-1.3
+- parameterized-utils-2.1.8.0
+- what4-1.5.1
 - bitwise-1.0.0.1
 - config-value-0.8.3
-- language-c99-util-0.2.0
+- s-cargot-0.1.6.0
 - zenc-0.1.2
diff --git a/Examples/Button/stack.yaml b/Examples/Button/stack.yaml
--- a/Examples/Button/stack.yaml
+++ b/Examples/Button/stack.yaml
@@ -1,24 +1,25 @@
 packages:
 - '.'
 - '../..'
-resolver: lts-20.6
-extra-deps: 
-- sketch-frp-copilot-1.0.8
-- copilot-3.14
-- copilot-c99-3.14
-- copilot-core-3.14
-- copilot-language-3.14
-- copilot-libraries-3.14
-- copilot-theorem-3.14
-- copilot-interpreter-3.14
-- copilot-prettyprinter-3.14
-- bv-sized-1.0.4
+resolver: lts-22.11
+extra-deps:
+- sketch-frp-copilot-1.0.10
+- copilot-3.18.1
+- copilot-c99-3.18.1
+- copilot-core-3.18.1
+- copilot-language-3.18.1
+- copilot-libraries-3.18.1
+- copilot-theorem-3.18.1
+- copilot-interpreter-3.18.1
+- copilot-prettyprinter-3.18.1
 - language-c99-0.2.0
-- language-c99-simple-0.2.2
+- language-c99-simple-0.3.0
+- language-c99-util-0.2.0
+- bv-sized-1.0.5
 - panic-0.4.0.1
-- parameterized-utils-2.1.6.0
-- what4-1.3
+- parameterized-utils-2.1.8.0
+- what4-1.5.1
 - bitwise-1.0.0.1
 - config-value-0.8.3
-- language-c99-util-0.2.0
+- s-cargot-0.1.6.0
 - zenc-0.1.2
diff --git a/Examples/ButtonHold/stack.yaml b/Examples/ButtonHold/stack.yaml
--- a/Examples/ButtonHold/stack.yaml
+++ b/Examples/ButtonHold/stack.yaml
@@ -1,24 +1,25 @@
 packages:
 - '.'
 - '../..'
-resolver: lts-20.6
-extra-deps: 
-- sketch-frp-copilot-1.0.8
-- copilot-3.14
-- copilot-c99-3.14
-- copilot-core-3.14
-- copilot-language-3.14
-- copilot-libraries-3.14
-- copilot-theorem-3.14
-- copilot-interpreter-3.14
-- copilot-prettyprinter-3.14
-- bv-sized-1.0.4
+resolver: lts-22.11
+extra-deps:
+- sketch-frp-copilot-1.0.10
+- copilot-3.18.1
+- copilot-c99-3.18.1
+- copilot-core-3.18.1
+- copilot-language-3.18.1
+- copilot-libraries-3.18.1
+- copilot-theorem-3.18.1
+- copilot-interpreter-3.18.1
+- copilot-prettyprinter-3.18.1
 - language-c99-0.2.0
-- language-c99-simple-0.2.2
+- language-c99-simple-0.3.0
+- language-c99-util-0.2.0
+- bv-sized-1.0.5
 - panic-0.4.0.1
-- parameterized-utils-2.1.6.0
-- what4-1.3
+- parameterized-utils-2.1.8.0
+- what4-1.5.1
 - bitwise-1.0.0.1
 - config-value-0.8.3
-- language-c99-util-0.2.0
+- s-cargot-0.1.6.0
 - zenc-0.1.2
diff --git a/Examples/EEPROM/stack.yaml b/Examples/EEPROM/stack.yaml
--- a/Examples/EEPROM/stack.yaml
+++ b/Examples/EEPROM/stack.yaml
@@ -1,24 +1,25 @@
 packages:
 - '.'
 - '../..'
-resolver: lts-20.6
+resolver: lts-22.11
 extra-deps: 
-- sketch-frp-copilot-1.0.8
-- copilot-3.14
-- copilot-c99-3.14
-- copilot-core-3.14
-- copilot-language-3.14
-- copilot-libraries-3.14
-- copilot-theorem-3.14
-- copilot-interpreter-3.14
-- copilot-prettyprinter-3.14
-- bv-sized-1.0.4
+- sketch-frp-copilot-1.0.10
+- copilot-3.18.1
+- copilot-c99-3.18.1
+- copilot-core-3.18.1
+- copilot-language-3.18.1
+- copilot-libraries-3.18.1
+- copilot-theorem-3.18.1
+- copilot-interpreter-3.18.1
+- copilot-prettyprinter-3.18.1
 - language-c99-0.2.0
-- language-c99-simple-0.2.2
+- language-c99-simple-0.3.0
+- language-c99-util-0.2.0
+- bv-sized-1.0.5
 - panic-0.4.0.1
-- parameterized-utils-2.1.6.0
-- what4-1.3
+- parameterized-utils-2.1.8.0
+- what4-1.5.1
 - bitwise-1.0.0.1
 - config-value-0.8.3
-- language-c99-util-0.2.0
+- s-cargot-0.1.6.0
 - zenc-0.1.2
diff --git a/Examples/EEPROMrange/stack.yaml b/Examples/EEPROMrange/stack.yaml
--- a/Examples/EEPROMrange/stack.yaml
+++ b/Examples/EEPROMrange/stack.yaml
@@ -1,24 +1,25 @@
 packages:
 - '.'
 - '../..'
-resolver: lts-20.6
+resolver: lts-22.11
 extra-deps: 
-- sketch-frp-copilot-1.0.8
-- copilot-3.14
-- copilot-c99-3.14
-- copilot-core-3.14
-- copilot-language-3.14
-- copilot-libraries-3.14
-- copilot-theorem-3.14
-- copilot-interpreter-3.14
-- copilot-prettyprinter-3.14
-- bv-sized-1.0.4
+- sketch-frp-copilot-1.0.10
+- copilot-3.18.1
+- copilot-c99-3.18.1
+- copilot-core-3.18.1
+- copilot-language-3.18.1
+- copilot-libraries-3.18.1
+- copilot-theorem-3.18.1
+- copilot-interpreter-3.18.1
+- copilot-prettyprinter-3.18.1
 - language-c99-0.2.0
-- language-c99-simple-0.2.2
+- language-c99-simple-0.3.0
+- language-c99-util-0.2.0
+- bv-sized-1.0.5
 - panic-0.4.0.1
-- parameterized-utils-2.1.6.0
-- what4-1.3
+- parameterized-utils-2.1.8.0
+- what4-1.5.1
 - bitwise-1.0.0.1
 - config-value-0.8.3
-- language-c99-util-0.2.0
+- s-cargot-0.1.6.0
 - zenc-0.1.2
diff --git a/Examples/Random/stack.yaml b/Examples/Random/stack.yaml
--- a/Examples/Random/stack.yaml
+++ b/Examples/Random/stack.yaml
@@ -1,24 +1,25 @@
 packages:
 - '.'
 - '../..'
-resolver: lts-20.6
+resolver: lts-22.11
 extra-deps: 
-- sketch-frp-copilot-1.0.8
-- copilot-3.14
-- copilot-c99-3.14
-- copilot-core-3.14
-- copilot-language-3.14
-- copilot-libraries-3.14
-- copilot-theorem-3.14
-- copilot-interpreter-3.14
-- copilot-prettyprinter-3.14
-- bv-sized-1.0.4
+- sketch-frp-copilot-1.0.10
+- copilot-3.18.1
+- copilot-c99-3.18.1
+- copilot-core-3.18.1
+- copilot-language-3.18.1
+- copilot-libraries-3.18.1
+- copilot-theorem-3.18.1
+- copilot-interpreter-3.18.1
+- copilot-prettyprinter-3.18.1
 - language-c99-0.2.0
-- language-c99-simple-0.2.2
+- language-c99-simple-0.3.0
+- language-c99-util-0.2.0
+- bv-sized-1.0.5
 - panic-0.4.0.1
-- parameterized-utils-2.1.6.0
-- what4-1.3
+- parameterized-utils-2.1.8.0
+- what4-1.5.1
 - bitwise-1.0.0.1
 - config-value-0.8.3
-- language-c99-util-0.2.0
+- s-cargot-0.1.6.0
 - zenc-0.1.2
diff --git a/Examples/SerialPort/stack.yaml b/Examples/SerialPort/stack.yaml
--- a/Examples/SerialPort/stack.yaml
+++ b/Examples/SerialPort/stack.yaml
@@ -1,24 +1,25 @@
 packages:
 - '.'
 - '../..'
-resolver: lts-20.6
+resolver: lts-22.11
 extra-deps: 
-- sketch-frp-copilot-1.0.8
-- copilot-3.14
-- copilot-c99-3.14
-- copilot-core-3.14
-- copilot-language-3.14
-- copilot-libraries-3.14
-- copilot-theorem-3.14
-- copilot-interpreter-3.14
-- copilot-prettyprinter-3.14
-- bv-sized-1.0.4
+- sketch-frp-copilot-1.0.10
+- copilot-3.18.1
+- copilot-c99-3.18.1
+- copilot-core-3.18.1
+- copilot-language-3.18.1
+- copilot-libraries-3.18.1
+- copilot-theorem-3.18.1
+- copilot-interpreter-3.18.1
+- copilot-prettyprinter-3.18.1
 - language-c99-0.2.0
-- language-c99-simple-0.2.2
+- language-c99-simple-0.3.0
+- language-c99-util-0.2.0
+- bv-sized-1.0.5
 - panic-0.4.0.1
-- parameterized-utils-2.1.6.0
-- what4-1.3
+- parameterized-utils-2.1.8.0
+- what4-1.5.1
 - bitwise-1.0.0.1
 - config-value-0.8.3
-- language-c99-util-0.2.0
+- s-cargot-0.1.6.0
 - zenc-0.1.2
diff --git a/Examples/WaterHeater/stack.yaml b/Examples/WaterHeater/stack.yaml
--- a/Examples/WaterHeater/stack.yaml
+++ b/Examples/WaterHeater/stack.yaml
@@ -1,24 +1,25 @@
 packages:
 - '.'
 - '../..'
-resolver: lts-20.6
+resolver: lts-22.11
 extra-deps: 
-- sketch-frp-copilot-1.0.8
-- copilot-3.14
-- copilot-c99-3.14
-- copilot-core-3.14
-- copilot-language-3.14
-- copilot-libraries-3.14
-- copilot-theorem-3.14
-- copilot-interpreter-3.14
-- copilot-prettyprinter-3.14
-- bv-sized-1.0.4
+- sketch-frp-copilot-1.0.10
+- copilot-3.18.1
+- copilot-c99-3.18.1
+- copilot-core-3.18.1
+- copilot-language-3.18.1
+- copilot-libraries-3.18.1
+- copilot-theorem-3.18.1
+- copilot-interpreter-3.18.1
+- copilot-prettyprinter-3.18.1
 - language-c99-0.2.0
-- language-c99-simple-0.2.2
+- language-c99-simple-0.3.0
+- language-c99-util-0.2.0
+- bv-sized-1.0.5
 - panic-0.4.0.1
-- parameterized-utils-2.1.6.0
-- what4-1.3
+- parameterized-utils-2.1.8.0
+- what4-1.5.1
 - bitwise-1.0.0.1
 - config-value-0.8.3
-- language-c99-util-0.2.0
+- s-cargot-0.1.6.0
 - zenc-0.1.2
diff --git a/arduino-copilot.cabal b/arduino-copilot.cabal
--- a/arduino-copilot.cabal
+++ b/arduino-copilot.cabal
@@ -1,5 +1,5 @@
 Name: arduino-copilot
-Version: 1.7.7
+Version: 1.7.8
 Cabal-Version: >= 1.10
 License: BSD3
 Maintainer: Joey Hess <id@joeyh.name>
@@ -114,10 +114,10 @@
     Copilot.Arduino.Main
   Build-Depends:
     base (>= 4.5 && < 5),
-    sketch-frp-copilot (== 1.0.8),
-    copilot (== 3.14.*),
-    copilot-c99 (== 3.14.*),
-    copilot-language (== 3.14.*),
+    sketch-frp-copilot (== 1.0.10),
+    copilot (== 3.18.*),
+    copilot-c99 (== 3.18.*),
+    copilot-language (== 3.18.*),
     filepath,
     directory,
     mtl,
diff --git a/src/Copilot/Arduino/Library/Serial/Device.hs b/src/Copilot/Arduino/Library/Serial/Device.hs
--- a/src/Copilot/Arduino/Library/Serial/Device.hs
+++ b/src/Copilot/Arduino/Library/Serial/Device.hs
@@ -19,7 +19,7 @@
 import Copilot.Arduino hiding (show)
 import Copilot.Arduino.Internals
 import Control.Monad.Writer
-import Copilot.Language.Stream (Arg)
+import Copilot.Language.Spec (Arg)
 import Data.List
 import Data.Maybe
 import Data.Proxy
diff --git a/stack.yaml b/stack.yaml
--- a/stack.yaml
+++ b/stack.yaml
@@ -1,23 +1,24 @@
 packages:
 - '.'
-resolver: lts-20.6
+resolver: lts-22.11
 extra-deps:
-- sketch-frp-copilot-1.0.8
-- copilot-3.14
-- copilot-c99-3.14
-- copilot-core-3.14
-- copilot-language-3.14
-- copilot-libraries-3.14
-- copilot-theorem-3.14
-- copilot-interpreter-3.14
-- copilot-prettyprinter-3.14
-- bv-sized-1.0.4
+- sketch-frp-copilot-1.0.10
+- copilot-3.18.1
+- copilot-c99-3.18.1
+- copilot-core-3.18.1
+- copilot-language-3.18.1
+- copilot-libraries-3.18.1
+- copilot-theorem-3.18.1
+- copilot-interpreter-3.18.1
+- copilot-prettyprinter-3.18.1
 - language-c99-0.2.0
-- language-c99-simple-0.2.2
+- language-c99-simple-0.3.0
+- language-c99-util-0.2.0
+- bv-sized-1.0.5
 - panic-0.4.0.1
-- parameterized-utils-2.1.6.0
-- what4-1.3
+- parameterized-utils-2.1.8.0
+- what4-1.5.1
 - bitwise-1.0.0.1
 - config-value-0.8.3
-- language-c99-util-0.2.0
+- s-cargot-0.1.6.0
 - zenc-0.1.2
