is/2: constraining the first operand to variables or numbers

Hi!
Following some private emails between me and Bart, we would like your feedback on constraining the first operand of the is/2 standard predicate to be either a variable or a number, throwing an exception on all other cases.
In the current core Prolog standard, a goal such as:
?- a is 3.
Simply fails. If you agree that an exception should be generated instead, which exception term do you think should be used? If you prefer the current behavior, can you tell us in what circumstances is it useful?
All the best,
Paulo
Following some private emails between me and Bart, we would like your feedback on constraining the first operand of the is/2 standard predicate to be either a variable or a number, throwing an exception on all other cases.
In the current core Prolog standard, a goal such as:
?- a is 3.
Simply fails. If you agree that an exception should be generated instead, which exception term do you think should be used? If you prefer the current behavior, can you tell us in what circumstances is it useful?
All the best,
Paulo