fn with_span_interner<T, F: FnOnce(&mut SpanInterner) -> T>(f: F) -> T