every construct within Mie, such as constants, instructions, functions, and translation units, are sub-types of the generic mie_value struct. mie_value will facilitate iterating through the IR, as well as converting the IR to/from different formats.