docs: def execute_cmdLine_instructions(instructions, m, l):
      """ Applies the instructions given via
          <instructions> on the manager <m> """
      opt_lut = dict()
      inst_lut = dict()
      for k, v in six.iteritems(instructions):
          bits = k.split('-', 1)
          if len(bits) == 1:
              if v not in m.modules:
                  raise KeyError("No such module: %s" % v)
              inst_lut[bits[0]] = v
          else:
              if not bits[0] in opt_lut:
                  opt_lut[bits[0]] = list()
              opt_lut[bits[0]].append((bits[1], v))
      inst_list = sort_by_successors(
          six.viewkeys(inst_lut),
          lambda inst: [v for (k, v) in opt_lut.get(inst, ())
                        if k in m.modules[inst_lut[inst]].deps]
      )
      for k in reversed(tuple(inst_list)):
          if k in m.insts:
              raise NotImplementedError(
                  "Overwriting instancens not yet supported")
          settings = dict()
          if k in opt_lut:
              for k2, v2 in opt_lut[k]:
                  settings[k2] = v2
          m.create_instance(k, inst_lut[k], settings)
      for k in opt_lut:
          if k in inst_lut:
              continue
          for k2, v2 in opt_lut[k]:
              if k not in m.insts:
                  raise ValueError("No such instance %s" % k)
              m.change_setting(k, k2, v2)