each (PGrow)

    /*
     * call-seq:
     *   row.each { |column, value| block } -> row
     *   row.each { |value| block } -> row
     *
     * Iterate with values or column,value pairs.
     */
    static VALUE
    pgrow_each(self)
        VALUE self;
    {
        int arity = NUM2INT(rb_funcall(rb_block_proc(), rb_intern("arity"), 0));
        if (arity == 2) {
            pgrow_each_pair(self);
        }
        else {
            pgrow_each_value(self);
        }
        return self;
    }