pub opaque type Lexer
pub type Position { Position(byte_offset: Int) }
Position(byte_offset: Int)
pub fn discard_comments(lexer: Lexer) -> Lexer
pub fn discard_whitespace(lexer: Lexer) -> Lexer
pub fn lex(lexer: Lexer) -> List(#(Token, Position))
pub fn new(source: String) -> Lexer