The assertion will only get triggered in DEBUG builds, so I don't think this is a terrible thing to do. However, I could be sold on having an error condition as a better way to handle this. An error is also more consistent with the way the rest of the library works.