sS ai_describeObject(O o, O... _) { if (o == null) ret "nothing"; if (o instanceof S) ret "a string"; if (o cast L) ret boolPar details(_) ? ai_describeList(o, _) : "a list"; if (o instanceof Cl) ret "a collection"; ret "an object of type " + dynShortName(o); }