This kind of design in void-safe mode is annoying since very often
we have to test the mode, and then if reference are attached.
I don't say we should not have such design,
but an alternative is to decide a priority ... if duration is set, then we should use it, otherwise we should use the date .. or the opposite.