sub FETCH { my ($self, $i) = @_; return $self->_fetch($i); } sub fetch { my ($self, $i) = @_; $i += $self->num_eles() if $i < 0; return undef if $i < 0; return $self->_fetch($i); } sub _fetch { my ($self, $i) = @_; # $i is guaranteed to be in range ... }