def each
      try(:iterinit)
      loop do
        pointer = try( :iternext3,
                       :failure  => lambda { |value| value.address.zero? },
                       :no_error => {22 => nil} )
        return self unless pointer
        value = cast_value_out(pointer)
        key   = value.delete("")
        yield [key, value]
      end
    end
def each
      try(:iterinit)
      loop do
        pointer = try( :iternext3,
                       :failure  => lambda { |value| value.address.zero? },
                       :no_error => {22 => nil} )
        return self unless pointer
        value = cast_value_out(pointer)
        key   = value.delete("")
        yield [key, value]
      end
    end
Iteration