{-# OPTIONS --safe --without-K #-}
open import Box
module Interface.Except (Ix : Set → Set) ⦃ _ : ∀ {X} → Rel₂ _ (Ix X) ⦄ where
open import Relation.Unary using (IUniversal ; _⇒_)
open import Relation.Binary using (Rel)
open import Relation.Binary.PropositionalEquality
open import Relation.Binary.Structures
open import Core
open import Signature
open import Structure.Monad
open import MonadicFragment
open import Data.List
open import Data.List.Relation.Unary.All
open import Function
open import Level
module _ (M : Eff Ix) where
record Exception : Set₁ where
field
throw : ∀ {Γ V} → (t : μ σ) → ∀[ M V Γ (V t) ]
try-with : ∀ {Γ V} → (t : μ σ) → ∀[ M V Γ (V t) ⇒ M V Γ (V t) ⇒ M V Γ (V t) ]