When I wrote this code, I did only care about tuple and function literals. It was not needed to extract `tpe` too, but if no tests fail just change it. The only thing I can think of is that some symbols are computed twice now (which doesn't matter because duplicates are removed later).