I'm not sure why this allows passing in valid_caa_types. It should always get them from _get_valid_caa_types, right?