pub(open) trait Cursor {
fn cursor(Self) -> Int
fn position(Self) -> Position
fn is_at_eof(Self) -> Bool
fn same_cursor(Self, other : Self) -> Bool = _
}fn[I, T] ParseError::reject_if_committed(self : ParseError, value : T, rest : I) -> Result[(T, I), ParseError]