I think is_number should only be true or false. Either the object will evaluate to a number or it won't. In this case, without a given form of f(x) we can't evaluate it to a number. We could add a further nuance, returning None for this case but returning False for `Integral(f(x,y),(x,0,1)).is_number`. Do you have an opinion either way?