syntax_data: {"ast_node_type":"function","tokens":[{"end":75,"kind":"keyword","start":0,"text":"fn"}]}
source_snippet: fn maybe_iter<I: Iterator>(i: Option<I>) -> impl Iterator<Item = I::Item> {
context_before: /// Turns option of iterator into an iterator (this is just flatten)
context_after:     // Flatten is bad perf-vise, we could probably implement a special case here that is better