@@ -92,6 +92,8 @@ coreForeignSemantics = Map.fromFoldable semantics
9292 <> map data_function_uncurried_runFn oneToTen
9393 <> map effect_uncurried_mkEffectFn oneToTen
9494 <> map effect_uncurried_runEffectFn oneToTen
95+ <> map control_monad_st_uncurried_mkSTFn oneToTen
96+ <> map control_monad_st_uncurried_runSTFn oneToTen
9597
9698 oneToTen =
9799 Array.range 1 10
@@ -239,8 +241,8 @@ data_function_uncurried_runFn n = Tuple (qualified "Data.Function.Uncurried" ("r
239241 SemLam Nothing \val ->
240242 goRunFn env (n' - 1) head (Array.snoc tail val)
241243
242−effect_uncurried_mkEffectFn :: Int -> ForeignSemantics
243−effect_uncurried_mkEffectFn n = Tuple (qualified "Effect.Uncurried" ("mkEffectFn" <> show n)) go
244+mkEffectFn :: String -> String -> Int -> ForeignSemantics
245+mkEffectFn mod name n = Tuple (qualified mod (name <> show n)) go
244246 where
245247 go env _ = case _ of
246248 [ ExternApp [ sem ] ] ->
@@ -248,8 +250,14 @@ effect_uncurried_mkEffectFn n = Tuple (qualified "Effect.Uncurried" ("mkEffectFn
248250 _ ->
249251 Nothing
250252
251−effect_uncurried_runEffectFn :: Int -> ForeignSemantics
252−effect_uncurried_runEffectFn n = Tuple (qualified "Effect.Uncurried" ("runEffectFn" <> show n)) go
253+effect_uncurried_mkEffectFn :: Int -> ForeignSemantics
254+effect_uncurried_mkEffectFn = mkEffectFn "Effect.Uncurried" "mkEffectFn"
255+
256+control_monad_st_uncurried_mkSTFn :: Int -> ForeignSemantics
257+control_monad_st_uncurried_mkSTFn = mkEffectFn "Control.Monad.ST.Uncurried" "mkSTFn"
258+
259+runEffectFn :: String -> String -> Int -> ForeignSemantics
260+runEffectFn mod name n = Tuple (qualified mod (name <> show n)) go
253261 where
254262 go env _ = case _ of
255263 [ ExternApp items ]
@@ -266,6 +274,12 @@ effect_uncurried_runEffectFn n = Tuple (qualified "Effect.Uncurried" ("runEffect
266274 SemLet Nothing arg \nextArg ->
267275 goRunEffectFn env (Array.snoc acc nextArg) head args
268276
277+effect_uncurried_runEffectFn :: Int -> ForeignSemantics
278+effect_uncurried_runEffectFn = runEffectFn "Effect.Uncurried" "runEffectFn"
279+
280+control_monad_st_uncurried_runSTFn :: Int -> ForeignSemantics
281+control_monad_st_uncurried_runSTFn = runEffectFn "Control.Monad.ST.Uncurried" "runSTFn"
282+
269283data_heytingAlgebra_boolConj :: ForeignSemantics
270284data_heytingAlgebra_boolConj = Tuple (qualified "Data.HeytingAlgebra" "boolConj") $ primBinaryOperator OpBooleanAnd
271285