data List a = { Nil, Cons a (List a) } data Bool = { True, False } defn length l = { case l of { Nil -> { 0 } Cons x xs -> { 1 + length xs } } } defn main = { length (Cons 1 (Cons 2 (Cons 3 Nil))) + length (Cons True (Cons False (Cons True Nil))) }