!7 static O obj; concept Obj { S structure; } p { db(); loadObj(); bot(); } svoid loadObj { obj = null; Obj o = findConcept(Obj); if (o != null) obj = unstructure(o.structure); } svoid setObj(O newObj) { cset(uniq(Obj), structure := structure(newObj)); loadObj(); } answer { if (startsWith(s, "string =", m)) { S newObj = unquoteIfProperlyQuoted($1); setObj(newObj); ret "Have object of type " + getClassName(obj); } if (eq(s, "!obj")) ret "Have object of type " + getClassName(obj); if (startsWithWord(s, "!op", m)) { S functionName = unquote($1); newObj = makeAndCall(functionName, obj); setObj(newObj); } }