why is it OK to run into a `ValueError` here? why not raise it?