В этом случае нужно перед закрытием дублировать несохранённые данные из оперативной памяти в физическую (не в исходный файл) и наоборот при повторном запуске. Тогда и исходный файл на диске останется не тронутым и не сохранённые данные вы не потеряете.
Упадёт в рантайме или всё таки не скомпилируется?
И по поводу синтаксиса: неужели нет способа сделать неявным только первый параметр?