type Mig<I, O> = MappedInput<Token, SimpleSpan, Stream<IntoIter<(Token, SimpleSpan)>>, fn(I) -> O>;
struct Mig<I, O> { /* private fields */ }