Since we are making it a part of the SymPy architecture, its better to do this, I think. It makes my code (as well as Prasoon's) more consistent with the rest of SymPy's handling of Basic entities, in the sense of using 'if instance.is_Something:'
Does this create any problems that we may be overlooking?