mmm, my idea here was to be explicit about which types need to be unique, hence the name and the declarative way of doing this. I'm not sure it's worth changing both.