module Chapter6.Functions where

open import Data.Unit
open import Data.Product

open import Chapter2.IDesc
open import Chapter2.IDesc.Fixpoint

infixr 20 μ_[_]→_
infixr 20 μ_[_]×_

data Type : Set₁ where
  μ_[_]→_ : {I : Set}(D : func I I)(i : I)(T : Type)  Type
  μ_[_]×_ : {I : Set}(D : func I I)(i : I)(T : Type)  Type
  `⊤ : Type

⟦_⟧Type : Type  Set
 μ D [ i ]→ T ⟧Type = μ D i   T ⟧Type
 μ D [ i  T ⟧Type = μ D i ×  T ⟧Type
 `⊤ ⟧Type =