static Pair arrayTypeAndDimensions(O o) { ret arrayTypeAndDimensions(_getClass(o)); } static Pair arrayTypeAndDimensions(Class c) { if (c == null || !c.isArray()) null; Class elem = c.getComponentType(); if (elem.isArray()) ret mapPairB(arrayTypeAndDimensions(elem), dim -> dim+1); ret pair(elem, 1); }