Contracts not required here, covered by DataStore
don't pass null key to IniParser
Improved null handling
9 digit precision