Потому что некий Person мог быть null и на этом строилась логика, а если сделать так, что все типы по умолчанию не null, то код придется переписывать там, где активно юзался null
Да дело вообще не в синтаксисе, а в том, что раз нельзя чтобы везде был по умолчанию не нуль, и только в определенных местах нуль, то пусть везде будет нуль и только в определенных местах не нуль. И пусть это определенное место можно было определить одним-двумя символами, чтобы не сильно мозолили глаза и чтобы всем хотелось его везде пихать