module Chapter10.Reornament.Examples.Maybe (A : Set) where open import Level open import Data.Unit open import Data.Product open import Chapter6.IDesc.Fixpoint open import Chapter6.IDesc.Examples.Bool open import Chapter10.Ornament open import Chapter10.Ornament.Examples.Maybe open import Chapter10.Reornament (MaybeO A) iMaybe : Bool → Set iMaybe b = μ reornD (tt , b) inothing : iMaybe false inothing = ⟨ lift tt , lift tt ⟩ ijust : A → iMaybe true ijust a = ⟨ (a , lift tt) , lift tt ⟩