Ada's Dependent Types, and Its Types as a Whole