static A persistentObject(S name, Class extends A> makeDefaultObject) {
ret persistentObject(name, (O) makeDefaultObject);
}
// makeDefaultObject: (func -> A) or Class
static A persistentObject(S name, O makeDefaultObject) {
IVar var = persistentVar(name);
if (!var.has()) var.set((A)
(makeDefaultObject instanceof Class ? nu((Class) makeDefaultObject) : callF(makeDefaultObject)));
ret var!;
}