# File lib/ruby2ruby.rb, line 188
  def process_block_pass(exp)
    bname = s(:block_arg, process(exp.shift)) # FIX
    call = exp.shift

    if Array === call.last then # HACK - I _really_ need rewrites to happen first
      case call.last.first
      when :splat then
        call << [:array, call.pop]
      when :array then
        # do nothing
      else
        has_args = Array === call.last and call.last.first == :array
        call << [:array] unless has_args
      end
      call.last << bname
    else
      call << [:array, bname]
    end

    process(call)
  end