class TreeOfListFollowups extends Tree { L list; MultiMap index; *(L *list, MultiMap *index, A a) { super(a); } L> children() { L indices = index.get(a); ret children = map(entriesFollowingIndices(list, indices), s -> new TreeOfListFollowups(list, index, s)); } }