Yes, I think the difference should not matter if we do things correctly, because code that does this should be looking for boolean expressions, whereas 0 and 1 are not these. This is perhaps one argument against allowing judicious use of `0` and `1` (and other numbers) in place of booleans. But you are right regardless; even if we do allow it, they should be canonicalized by the time they get to places like this anyway (though in [some places](https://code.google.com/p/sympy/issues/detail?id=3567) of the SymPy code-base, unrelated to this PR, they aren't...).