I took some pause with this change.  It seemed needed in order to avoid a downcast within the visitor, but changing the API seems dicey.  If we want to avoid that, I could just add a second package-level method that returns a reference to schema as a SimpleTypeSchema and leave the public API alone.