def within_method_sexp(sexp)
      case sexp.first
      when :call                # [:call, target, ".", meth]
        recur(sexp[1])
      when :method_add_block    # [:method_add_block, call, block]
        within_method_sexp(sexp[1])
      when :method_add_arg      # [:method_add_arg, call, args]
        recur(sexp[2])
        within_method_sexp(sexp[1])
      else
        recur(sexp)
      end
    end
def within_method_sexp(sexp)
      case sexp.first
      when :call                # [:call, target, ".", meth]
        recur(sexp[1])
      when :method_add_block    # [:method_add_block, call, block]
        within_method_sexp(sexp[1])
      when :method_add_arg      # [:method_add_arg, call, args]
        recur(sexp[2])
        within_method_sexp(sexp[1])
      else
        recur(sexp)
      end
    end
When already handling a method call, we don't need to recur on
 some items.