always add try{} blocks around function bodies since the stack can't stay consistent otherwise
don't instrument arrays nested arbitrarily deeply; make them count for half a nesting level
node.argument does not include parentheses in cases like return(42), so manipulate the node for the return statement itself instead
simple command-line tool for instrumenting code