fix: write_once would sometimes allow a value to change back to nil/blank