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

open import Data.Unit
open import Data.Product

open import Chapter2.IDesc.Fixpoint
open import Chapter2.IDesc.Examples.Nat

open import Chapter5.Ornament
open import Chapter5.Ornament.Examples.List

open import Chapter5.Reornament (ListO A)

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

vnil : Vec ze
vnil =  tt , tt 

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