syntax_data: {"ast_node_type":"other","tokens":[{"end":70,"kind":"keyword","start":0,"text":"//"}]}
source_snippet:         // We implement `union` by lazily initializing a set of states
context_before:     pub(crate) fn union(self, other: Self, mut new_state: impl FnMut() -> State) -> Self {
context_after:         // corresponding to the product of states in `self` and `other`, and