Ideally, optimization passes should be a series of functions with signature `seq[Instruction]` -> `seq[Instruction]`.
Ideally, optimization passes should be a series of functions with signature
seq[Instruction]->seq[Instruction].