fn span_list<M: Module>( emitter: &mut Emitter<M>, shared: &mut Shared<'_>, locate: &dyn Fn(Span) -> SourceLocation, ) -> Result<List, CodegenError>