@@ -70,6 +70,7 @@ doForeign (_ : fgn : args)
70 = let tys = getFTypes fgnArgTys
70 = let tys = getFTypes fgnArgTys
71 rty = mkEty ret in
71 rty = mkEty ret in
72 do args' <- mapM epic args
72 do args' <- mapM epic args
73+ -- wrap it in a prim__IO
73 return $ con_ 0 @@ impossible @@ foreign_ rty fgnName (zip args' tys)
74 return $ con_ 0 @@ impossible @@ foreign_ rty fgnName (zip args' tys)
74 | otherwise = fail "Badly formed foreign function call"
75 | otherwise = fail "Badly formed foreign function call"