data nomal-tree (A : Set) : Set where nleaf : (key : ℕ) → tree A nnode : (key : ℕ) → (lnode : nomal-tree A) → (rnode : nomal-tree A) → nomal-tree A data meta-tree (A : Set) : (key : ℕ) → Set where mleaf : (key : ℕ) → meta-tree A key mnode : { l r : ℕ } → (key : ℕ) → (value : A) → (lnode : meta-tree A l) → (rnode : meta-tree A r) → l ≤ key → key ≤ r → metatree A key