Rename all the “chunks” (as terms in `Name`s) to data? Divide parse options from to_html options? - constructs - gfm_strikethrough_single_tilde - mdx_expression_parse - mdx_esm_parse --- micromark.js: unquoted: is `completeAttributeValueUnquoted`s case for `completeAttributeNameAfter` missing a `/`?. I’ve added it here. micromark.js: `]` case in cdata_end does not need to consume, it can defer to `cdata_close`, which should save 1 line micromark.js: should `tagOpenAttributeValueUnquoted` also support a slash? micromark.js: `atLineEnding` in html (text) should always eat arbitrary whitespace? code (indented) has no effect on html (text)? ```rs // --------------------- // Useful helper: extern crate std; use std::println; use alloc::string::String; let mut index = 0; let mut balance = 0; println!("before: {:?}", tokenizer.events.len()); while index < tokenizer.events.len() { let event = &tokenizer.events[index]; if event.kind == Kind::Exit { balance -= 1; } let prefix = String::from_utf8(vec![b' '; balance * 2]).unwrap(); println!( "ev: {}{:?}:{:?} ({:?}): {:?}", prefix, event.kind, event.name, index, event.link, ); if event.kind == Kind::Enter { balance += 1; } index += 1; } ```