#+begin_src idris
data Vect : Nat -> Type -> Type where
     Nil : Vect Z a
     (::) : a -> Vect k a -> Vect (S k) a
#+end_src

#+IDRIS: %name Vect xs, ys, zs

#+IDRIS: dupAll : Vect n a -> Vect n (a, a)
#+IDRIS: dupAll xs = zipHere xs xs
#+IDRIS:   where
#+IDRIS:     zipHere : forall n . Vect n a -> Vect n b -> Vect n (a, b)
