Add Nav (and TODO comment for its exceptional requirement) and turn Element into an algebraic type.