module Chapter8.Reornament.Examples.List 
         (A : Set) 
       where

open import Level

open import Data.Unit
open import Data.Product

open import Chapter5.IDesc.Fixpoint
open import Chapter5.IDesc.Examples.Nat

open import Chapter8.Ornament
open import Chapter8.Ornament.Examples.List

open import Chapter8.Reornament (ListO A)

Vec : Nat  Set
Vec n = μ reornD (tt , n)

vnil : Vec ze
vnil =  lift tt , lift tt 

vcons : ∀{n}  A  Vec n  Vec (su n)
vcons a xs =  (a , (lift tt , lift tt)) , xs , lift tt