Slightly better exception messages for ? : and some tests.