let maybe: U -> U = \lambda t. sum { Just t | Nothing 1 };
let the: \Pi t: U. (t -> t) = \lambda _. \lambda a. a;
let unwrap_type (t : U): (maybe t) -> U = split
{ Just _ => t
| Nothing _ => 1
};
-- let unwrap (t : U) (mt: maybe t): unwrap_type t mt = split
-- { Just a => a
-- | Nothing _ => 0
-- };