module Chapter6.FunOrnament.Examples.Lookup where

open import Data.Unit

open import Chapter1.Logic

open import Chapter2.IDesc.Examples.Nat

open import Chapter5.Ornament
open import Chapter5.Ornament.Identity
open import Chapter5.Ornament.Examples.List
open import Chapter5.Ornament.Examples.Maybe

open import Chapter6.Functions.Examples.Le

open import Chapter6.FunOrnament

typeLookup : (A : Set)  FunctionOrn type<
typeLookup A = μ⁺ idO NatD [ inv tt ]→ 
               μ⁺ ListO A [ inv tt ]→ 
               μ⁺ MaybeO A [ inv tt  `⊤