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