{-# OPTIONS --type-in-type #-} module SVDesc where open import NeilPrelude --------------------------------------------------------- infixr 2 _,_ data SVDesc : Set where C : Set → SVDesc E : Set → SVDesc S : Set → SVDesc _,_ : SVDesc → SVDesc → SVDesc --------------------------------------------------------- Sample : SVDesc → Set Sample (C A) = A Sample (E A) = Maybe A Sample (S A) = A Sample (as , bs) = Sample as × Sample bs ---------------------------------------------------------