naive implementation of tracing, no parsing. learned the difference between .splice() and .slice() (the first is destructive on the indicated object)