fn open(path: &Path) -> Result<DocumentMut, String>
The budget file, empty when there is none yet; one that cannot be read is an error, never an empty file written over it.