-- 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
    };

