code: def _linearize(cls, inst_list):
          
  
          for inst in inst_list:
              # Check if we need to recurse
              if isinstance(inst, Instructions):
                  for sub_inst in cls._linearize(inst.instructions):
                      yield sub_inst
              else:
                  yield inst
docs: A generator function which performs linearization of the list
          of instructions; that is, each instruction which should be
          executed will be yielded in turn, recursing into
          ``Instructions`` instances that appear in the list.
  
          :param inst_list: A list (or other sequence) of instructions.
  
          :returns: An iterator which returns all instructions.