rewrite_rescue (UnifiedRuby)

    # File lib/unified_ruby.rb, line 270
      def rewrite_rescue(exp)
        # SKETCHY HACK return exp if exp.size > 4
        ignored = exp.shift
        body    = exp.shift unless exp.first.first == :resbody
        resbody = exp.shift
        els     = exp.shift unless exp.first.first == :resbody unless exp.empty?
        rest    = exp.empty? ? nil : exp # graceful re-rewriting (see rewrite_begin)

        resbodies = []

        unless rest then
          while resbody do
            resbodies << resbody
            resbody = resbody.resbody(true)
          end

          resbodies.each do |resbody|
            if resbody[2] && resbody[2][0] == :block && resbody[2].size == 2 then
              resbody[2] = resbody[2][-1]
            end
          end
        else
          resbodies = [resbody] + rest
        end

        resbodies << els if els

        s(:rescue, body, *resbodies).compact
      end