Binding list of lists with tapply by name

The fact that my first answer came up short is a good example of why it can be very useful for a question asker to provide representative example data to better capture their need concretely. You can read a guide here
My simple fix, foregoes the attempt to provide a single data.frame as an answer, and is content just to stitch like tables together maintaining the higher order list.

in your case it would be 1:3 rather than the 1:2 in my example


list_of_list_of_tables <- list( list(hm = head(mtcars),
                                     hi  = head(iris)),
                                list(tm = tail(mtcars),
                                     ti  = tail(iris)))

    ~{y <- .x