convertStmt (P.Bind lval (P.QualifiedYield idExpr listenerName arg)) =
  let (convertedId, (stmts, n)) = runState (convertExpr idExpr) (id, 1)
      (convertedArg, (stmts2, _)) = runState (convertExpr arg) (id, n)
      convertedLVal = convertLValue lval
  in stmts . stmts2 . \body -> E.QualifiedYield convertedId listenerName convertedArg (E.Block Nothing convertedLVal body)
convertStmt (P.Bind lval (P.QualifiedYield idExpr listenerName arg)) =
  let (convertedId, (stmts, n)) = runState (convertExpr idExpr) (id, 1)
      (convertedArg, (stmts2, _)) = runState (convertExpr arg) (id, n)
      convertedLVal = convertLValue lval
  in stmts . stmts2 . \body -> E.QualifiedYield convertedId listenerName convertedArg (E.Block Nothing convertedLVal body)
convertStmt (P.Bind lval (P.QualifiedYield idExpr listenerName arg)) =
  let (convertedId, (stmts, n)) = runState (convertExpr idExpr) (id, 1)
      (convertedArg, (stmts2, _)) = runState (convertExpr arg) (id, n)
      convertedLVal = convertLValue lval
  in stmts . stmts2 . \body -> E.QualifiedYield convertedId listenerName convertedArg (E.Block Nothing convertedLVal body)