I think it's safer to force the user to correct the error (either in initialization or by doing `label.subject = 'sample'`) before trying to combine the labels. Note that this will still pass if both are `None`, so it's not so strict as it may seem -- it just says that if one is defined, they both should be, and they both should be equal.