Why was Python syntax designed so except (TypeError, ValueError): is OK but except [TypeError, ValueError]: is forbidden. Should this be changed? Is immutability needed here? Where in Python is immutability really needed or really improves efficiency?