@@ -97,11 +97,12 @@ instance ToEpic (TT Name) where
97 = do arg' <- epic' env arg
97 = do arg' <- epic' env arg
98 return $ lazy_ arg'
98 return $ lazy_ arg'
99 | (P _ (UN "prim__IO") _, [v]) <- unApply tm
99 | (P _ (UN "prim__IO") _, [v]) <- unApply tm
100− = epic' env v
100+ = do v' <- epic' env v
101 | (P _ (UN "io_bind") _, [_,_,v,k]) <- unApply tm
102 | (P _ (UN "io_bind") _, [_,_,v,k]) <- unApply tm
102 = do v' <- epic' env v
103 = do v' <- epic' env v
103 k' <- epic' env k
104 k' <- epic' env k
104− return (k' @@ (effect_ v'))
105+ return (effect_ (k' @@ (effect_ v')))
105 | (P _ (UN "malloc") _, [_,size,t]) <- unApply tm
106 | (P _ (UN "malloc") _, [_,size,t]) <- unApply tm
106 = do size' <- epic' env size
107 = do size' <- epic' env size
107 t' <- epic' env t
108 t' <- epic' env t