-- data Bool () where { -- True : Bool () -- False : Bool () -- }; -- -- main : _Int ; -- main = case True of { -- False => 0 ; -- True => 1 -- }; data List ('a) where { Nil : List ('a) Cons : ('a) -> List ('a) -> List ('a) }; data Maybe ('a) where { Nothing : Maybe ('a) Just : 'a -> Maybe ('a) }; safeHead : List ('a) -> Maybe ('a) ; safeHead xs = case xs of { Nil => Nothing ; Cons x xs => Just x }; main : Maybe (_Int) ; main = safeHead (Cons 0 (Cons 1 Nil)) ;