scope ai_findVarObjects. static L nuLike ai_findVarObjects(IF1 objectFilter, Class varClass, O root) { Cl out = transitiveHullOfFunction(o -> #scanObject(o) && (objectFilter == null || objectFilter.get(o)), root); ret instancesOf(varClass, out); } static L #scanObject(O o) { ret filter(nonStaticNonPrimitiveNonTransientFieldValues(o), v -> v != null && !v instanceof S); } end scope