args (RubyParser)

    # File lib/ruby_parser_extras.rb, line 153
      def args arg, optarg, rest_arg, block_arg
        arg ||= s(:args)

        result = arg
        if optarg then
          optarg[1..-1].each do |lasgn| # FIX clean sexp iter
            raise "wtf? #{lasgn.inspect}" unless lasgn[0] == :lasgn
            result << lasgn[1]
          end
        end

        result << rest_arg  if rest_arg
        result << "&#{block_arg.last}""&#{block_arg.last}" if block_arg
        result << optarg    if optarg # TODO? huh - processed above as well

        result
      end