{-# OPTIONS --safe #-} open import Categories.Category.Core using (Category) open import Categories.Category.Distributive using (Distributive) open import Categories.Monad.EquationalLifting using (EquationalLifting) open import Categories.Category.Construction.Kleisli using (Kleisli) open import Categories.Category.Restriction using (Restriction) open import Categories.Category.Restriction.Construction.Kleisli using (Kleisli-Restriction) import Monad.Instance.K as MIK module Monad.Instance.K.Restriction {o ℓ e} {C : Category o ℓ e} (distributive : Distributive C) (MK : MIK.MonadK distributive) where open MIK.MonadK MK open Distributive distributive open import Monad.Instance.K.EquationalLifting distributive MK KRestriction : Restriction (Kleisli monadK) KRestriction = Kleisli-Restriction cartesian KEquationalLiftingMonad