Version of Maybe indexed by an `isJust' boolean
data IMaybe : Bool -> Type -> Type
Just : a -> IMaybe True a
Nothing : IMaybe False a
Applicative (IMaybe True)
Functor (IMaybe b)
Zippable (IMaybe b)
fromJust : IMaybe True a -> a