-- a simple list data type containing ints data List () where { Cons : Int -> List () -> List () Nil : List () }; main = sumlength (Cons 1 (Cons 2 (Cons 3 (Cons 4 (Cons 5 Nil))))); -- take the length of a list length : List () -> Int ; length x = case x of { Cons _ xs => 1 + length xs ; Nil => 0 ; }; -- sum a list sum : List () -> Int ; sum x = case x of { Cons a xs => a + sum xs ; Nil => 0 ; }; -- sum + length of a list sumlength: List () -> Int ; sumlength x = sum x + length x ;