@@ -251,15 +251,19 @@ public export
251or : a -> a -> Either b c -> a
251or : a -> a -> Either b c -> a
252or x y = either (const x) (const y)
252or x y = either (const x) (const y)
254−public export
254+public export %error_reduce
255add : Type -> Action a
255add : Type -> Action a
256add ty = Add (\var => [var ::: ty])
256add ty = Add (\var => [var ::: ty])
258+public export %error_reduce
259+remove : lbl -> Type -> Action ty
258−public export
262+public export %error_reduce
259addIfRight : Type -> Action (Either a b)
263addIfRight : Type -> Action (Either a b)
260addIfRight ty = Add (either (const []) (\var => [var ::: ty]))
264addIfRight ty = Add (either (const []) (\var => [var ::: ty]))
262−public export
266+public export %error_reduce
263addIfJust : Type -> Action (Maybe a)
267addIfJust : Type -> Action (Maybe a)
264addIfJust ty = Add (maybe [] (\var => [var ::: ty]))
268addIfJust ty = Add (maybe [] (\var => [var ::: ty]))