emit :: ( MonadFix (m () ())
        , MonadCode m
        ) => [Command] -> m () () (Label m ())
emit xs = do
  label <- emitHeader
  forM_ xs emitCommand
  emitFooter
  returnM label
emit :: ( MonadFix (m () ())
        , MonadCode m
        ) => [Command] -> m () () (Label m ())
emit xs = do
  label <- emitHeader
  forM_ xs emitCommand
  emitFooter
  returnM label
emit xs = do
  label <- emitHeader
  forM_ xs emitCommand
  emitFooter
  returnM label