Нет, здесь большая инкасуляционная ошибка. Это когда ты на в гонках на старте стоишь. 3...2...1..., а у тебя бензина нет, потому что ты перед стартом не залил.
Не, у тебя есть проблема. Потому что ты не решаешь свою задачу на системе типов. Тру пацаны на F# сделали бы 2 типа -- неинициализированный. И инициализированный. У неинициализированного есть только метод инициализации, инициализированный можно запустить.