vaa>>Считаю инициализация объекта оправдана только при создании экземпляров анонимных типов. S> А зачем гарантия? Зачем заполнять дефолтные значения заного?
Логика программы на что-то должна опираться?
Чем городить проверки на каждом этапе, лучше разрешить только валидные значения на входе.