emitNodes
  :: (Monad p1, Monad p2, Monad p3)
  => EmitST2Array Position Int r w p1 p2 p3 tc
  -> Delay p2 p3 tc
  -> CFG
  -> p3 (Array Node Position)
  -> MultiPass r w tc (p2 (Array Node Position), ())
emitNodes emitter delay12 g offsets =
  do g' <- pmapM g (emitNode emitter delay12 offsets)
     return (g', ())
emitNodes
  :: (Monad p1, Monad p2, Monad p3)
  => EmitST2Array Position Int r w p1 p2 p3 tc
  -> Delay p2 p3 tc
  -> CFG
  -> p3 (Array Node Position)
  -> MultiPass r w tc (p2 (Array Node Position), ())
emitNodes emitter delay12 g offsets =
  do g' <- pmapM g (emitNode emitter delay12 offsets)
     return (g', ())
emitNodes emitter delay12 g offsets =
  do g' <- pmapM g (emitNode emitter delay12 offsets)
     return (g', ())