1 data Either a b = Left a | Right b
3 data List a = Nil | Cons a (List a)
5 data Nat = Zero | Succ Nat
9 sum (Succ a) (Succ b) = Succ (Succ (sum a b))
16 Nil -> go z (Right ys)
17 Cons x xs' -> go (sum x z) (Left xs')
21 Cons y ys' -> go (sum y z) (Right ys')