  We present three ordinal notation systems representing ordinals below
$\varepsilon_0$ in type theory, using recent type-theoretical innovations such
as mutual inductive-inductive definitions and higher inductive types. We show
how ordinal arithmetic can be developed for these systems, and how they admit a
transfinite induction principle. We prove that all three notation systems are
equivalent, so that we can transport results between them using the univalence
principle. All our constructions have been implemented in cubical Agda.
