pub fn parse( code: &str, token_arena: Shared<SharedCell<Arena<Shared<Token>>>>, ) -> Result<Program, Box<Error>>