fn getAppDataDir(allocator: mem.Allocator, appname: []const u8) GetAppDataDirError![]u8
Caller owns returned memory. TODO determine if we can remove the allocator requirement
allocator: mem.Allocator,
appname: []const u8,