scope ai_findVarObjects. static L nuLike ai_findVarObjects(Class varClass, Fact statement) { Cl out = transitiveHullOfFunction(o -> #scanObject(o), (O) statement); ret instancesOf(varClass, out); } static L #scanObject(O o) { ret filter(nonStaticNonPrimitiveNonTransientFieldValues(o), v -> v != null && !v instanceof S && v != Obj.this); } end scope