Empty index array not considered unique in multi-term index

To summarise, I can’t find a way to create no indexes with a multi-term index. To work around this in my code, I’m currently doing this:

CreateIndex({
name: 'foos_by_tag_uniqued',
source:  {
  collection: Collection("foos"),
  fields: {
    tags: Query(
      Lambda((doc) =>
          Append(Select(['ref', 'id'], doc), Select(['data', 'tags'], doc))
      )
    ),
  },
},
terms: [
  { field: ['data', 'user'] },
  { binding: 'tags' }
],
unique: true,
serialized: true,
})

Create("foos", { data: { user: "john", tags: [] } })
Create("foos", { data: { user: "john", tags: [] } }) // allowed: correct
Create("foos", { data: { user: "john", tags: ["fauna"] } })
Create("foos", { data: { user: "john", tags: ["fauna"] } }) // error: correct

The basic idea is to create an additional index for every document as if it was tagged with its own ID. This is obviously pretty hacky, because the ref ID is not actually a tag, but it works around the issue by ensuring the index array is never empty. When tags is empty, the index is guaranteed to be unique because the ref ID is unique.