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

open import Data.Unit
open import Data.Product

open import Chapter2.IDesc.Fixpoint
open import Chapter2.IDesc.Examples.Bool

open import Chapter5.Ornament
open import Chapter5.Ornament.Examples.Maybe

open import Chapter5.Reornament (MaybeO A)

iMaybe : Bool  Set
iMaybe b = μ reornD (tt , b)

inothing : iMaybe false
inothing =  tt , tt  

ijust : A  iMaybe true
ijust a =  (a , tt) , tt