This follows the rest of the code base data structures, where we have a mutable data structure builder; once the data structure is constructed, it's immutable. This also makes the definition of instructions easier, and it paves the way for defining immediate variants.
This crate contains the core Cranelift code generator. It translates code from an intermediate representation into executable machine code.