module Chapter11.FunOrnament.Examples.Lookup where

open import Data.Unit

open import Chapter2.Logic

open import Chapter6.IDesc.Examples.Nat

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

open import Chapter11.Functions.Examples.Le

open import Chapter11.FunOrnament

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