12345678910111213141516171819202122{-# OPTIONS --cubical-compatible #-}module Class.Traversable.Core where open import Class.Preludeopen import Class.Coreopen import Class.Functor.Coreopen import Class.Applicative.Coreopen import Class.Monad.Core record TraversableA (F : Type↑) ⦃ _ : Functor F ⦄ : Typeω where field sequenceA : ⦃ Applicative M ⦄ → F (M A) → M (F A) traverseA : ⦃ Applicative M ⦄ → (A → M B) → F A → M (F B) traverseA f = sequenceA ∘ fmap fopen TraversableA ⦃...⦄ public record Traversable (F : Type↑) ⦃ _ : Functor F ⦄ : Typeω where field sequence : ⦃ Monad M ⦄ → F (M A) → M (F A) traverse : ⦃ Monad M ⦄ → (A → M B) → F A → M (F B) traverse f = sequence ∘ fmap fopen Traversable ⦃...⦄ public