Again - why the indirection through the ValueError?