method get_previous = if len > 0 then let new_pos = pos - 1 in if new_pos >= 0 && new_pos < len then (pos <- new_pos; Some t.(pos)) else None else None