{-# OPTIONS --safe #-} module Data.List.Syntax where open import Prelude hiding ([_]) VecT VecT⁺ : ℕ → Type a → Type a VecT⁺ zero A = A VecT⁺ (suc n) A = A × VecT⁺ n A VecT zero A = Poly-⊤ VecT (suc n) A = VecT⁺ n A [_]⁺ : ∀ {n} → VecT⁺ n A → List A [_]⁺ {n = zero} x = x ∷ [] [_]⁺ {n = suc n} (x , xs) = x ∷ [ xs ]⁺ [_] : ∀ {n} → VecT n A → List A [_] {n = zero} _ = [] [_] {n = suc n} = [_]⁺