pub trait IntTypeExt {
    // Required methods
    fn to_ty<'tcx>(&self, tcx: TyCtxt<'tcx>) -> Ty<'tcx>;
    fn initial_discriminant<'tcx>(&self, tcx: TyCtxt<'tcx>) -> Discr<'tcx>;
    fn disr_incr<'tcx>(
        &self,
        tcx: TyCtxt<'tcx>,
        val: Option<Discr<'tcx>>,
    ) -> Option<Discr<'tcx>>;
}