convertStmt :: P.Statement -> StatementWrapper
convertStmt (P.Bind lval (P.Yield listenerName arg)) =
  let (convertedArg, (stmts, _)) = runState (convertExpr arg) (id, 1)
      convertedLVal = convertLValue lval
  in stmts . \body -> E.Yield listenerName convertedArg (E.Block Nothing convertedLVal body)
convertStmt :: P.Statement -> StatementWrapper
convertStmt (P.Bind lval (P.Yield listenerName arg)) =
  let (convertedArg, (stmts, _)) = runState (convertExpr arg) (id, 1)
      convertedLVal = convertLValue lval
  in stmts . \body -> E.Yield listenerName convertedArg (E.Block Nothing convertedLVal body)
convertStmt (P.Bind lval (P.Yield listenerName arg)) =
  let (convertedArg, (stmts, _)) = runState (convertExpr arg) (id, 1)
      convertedLVal = convertLValue lval
  in stmts . \body -> E.Yield listenerName convertedArg (E.Block Nothing convertedLVal body)