// currently collection and map only
if (o cast Collection) pnlStruct(o);
else if (o cast Map) pnlStruct(o);
else if (o != null) pnlStruct(ll(o));
static <A, B extends Collection<A>> B pnlStruct(B l) {
pnlStruct((Iterable<A>) l);
static <A> Iterable<A> pnlStruct(Iterable<A> l) {
static <A> Iterable<A> pnlStruct(S prefix, Iterable<A> l) {
if (l != null) for (A a : l) print(prefix + (++i) + ". " +
struct_noStringSharing(a));
static <A> A[] pnlStruct(A[] l) {