Я за составной тип, а пустое значение будет равно Неопределено. Получится красиво
Составной тип
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший