I have been questioning whether there should be both `assert_valid_*()` and `is_valid_*()` style functions for each data type it knows, one that errors or returns TRUE invisibly and one that returns TRUE or FALSE. That would be a rather large "interface" change. There are also a few significant things missing.