we could avoid these checks for the unbounded support cases ``self.a = -inf, self.b=+inf``