> data Vect : Nat -> Type -> Type where > Nil : Vect Z a > (::) : a -> Vect k a -> Vect (S k) a > %name Vect xs, ys, zs > append : Vect n a -> Vect m a -> Vect (n + m) a > append xs ys > = case xs of > foo => ?bar > data Foo a = MkFoo a | MkBar (a -> a) > Functor Foo where > map f thing = ?baz