This is really dangerous because to catch it I have to `try ... except Exception` which gets nearly everything. Use `ValueError` (argument had right type, but bad value).