module Data.Vec.Extra where open import Data.Fin using (fromℕ) open import Data.Vec.Base open import Data.Nat using (ℕ; zero; suc) open import Level using (Level) private variable a : Level A : Set a n : ℕ headOr : Vec A n → A → A headOr {n = zero} _ v = v headOr {n = suc n} (x ∷ xs) v = x lastOr : Vec A n → A → A lastOr {n = zero} xs v = v lastOr {n = suc n} xs v = lookup xs (fromℕ n)