-- data Bool () where { -- True : Bool () -- False : Bool () -- }; data Maybe ('a) where { Nothing : Maybe ('a) Just : 'a -> Maybe ('a) }; -- main : Bool () -> Maybe (Bool ()) ; -- main x = -- case x of { -- True => Nothing; -- False => Just True -- }; fun : Maybe ('a) -> 'a ; fun a = case a of { Just c => c };