How to get around the implicit vs explicit function type error?
问题 This is from the last chapter of PLFA book. import Relation.Binary.PropositionalEquality as Eq open Eq using (_≡_; refl; sym; trans; cong) open import Data.Product using (_×_; ∃; ∃-syntax; Σ; Σ-syntax) renaming (_,_ to ⟨_,_⟩) infix 0 _≃_ record _≃_ (A B : Set) : Set where field to : A → B from : B → A from∘to : ∀ (x : A) → from (to x) ≡ x to∘from : ∀ (y : B) → to (from y) ≡ y open _≃_ data List (A : Set) : Set where [] : List A _∷_ : A → List A → List A infixr 5 _∷_ data All {A : Set} (P : A