check (Type → Type)
check (Type → Type) → Type
check (Type 1)
check ((Type 1) → Type) → Type
check ((Type 1) → (Type 2)) → Type