\begin{code}
{-# OPTIONS --cubical --safe #-}
module Data.Maybe.Base where
open import Level
\end{code}
%<*maybe-def>
\begin{code}
data Maybe (A : Type a) : Type a where
nothing : Maybe A
just : A → Maybe A
\end{code}
%</maybe-def>
\begin{code}
maybe : {B : Maybe A → Type b} → B nothing → ((x : A) → B (just x)) → (x : Maybe A) → B x
maybe b f nothing = b
maybe b f (just x) = f x
\end{code}