This seems like a reasonable place to raise an exception, rather than just returning `None`