pub trait PositionManager {
// Required methods
fn skip_whitespace(&mut self);
fn advance(&mut self);
fn peek_char(&self, offset: usize) -> Option<char>;
fn update_position(
&mut self,
start_line: LineNumber,
start_col: ColumnNumber,
);
}