signature EMIT = sig structure I: IL val emit: string -> I.ctx -> unit end