@@ -152,13 +152,15 @@ FFI_C = MkFFI C_Types String String
152152IO : Type -> Type
153153IO = IO' FFI_C
154154
155+-- Cannot be relaxed as is used by type providers and they expect IO a
156+-- in the first argument.
155157run__provider : IO a -> PrimIO a
156158run__provider (MkIO f) = f (TheWorld prim__TheWorld)
157159
158160prim_fork : PrimIO () -> PrimIO Ptr
159161prim_fork x = prim_io_return prim__vm -- compiled specially
160162
161−fork : IO () -> IO Ptr
163+fork : IO' l () -> IO' l Ptr
162164fork (MkIO f) = MkIO (\w => prim_io_bind
163165 (prim_fork (prim_io_bind (f w)
164166 (\ x => prim_io_return x)))