This isn't strictly true. `collection_type` is nullable, so basic collections can have a `collection_type` of `NULL` and thus be ignored in the uniqueness constraint. Any reason we shouldn't do that?