convertExpr (P.QualifiedYield id listenerName arg) = do
  convertedId <- convertExpr id
  convertedArg <- convertExpr arg
  temporaryName <- gensym
  pushStatement $ \body -> E.QualifiedYield convertedId listenerName convertedArg (E.Block Nothing (E.VarBind temporaryName) body)
  return $ E.VarAccess temporaryName
convertExpr (P.QualifiedYield id listenerName arg) = do
  convertedId <- convertExpr id
  convertedArg <- convertExpr arg
  temporaryName <- gensym
  pushStatement $ \body -> E.QualifiedYield convertedId listenerName convertedArg (E.Block Nothing (E.VarBind temporaryName) body)
  return $ E.VarAccess temporaryName
convertExpr (P.QualifiedYield id listenerName arg) = do
  convertedId <- convertExpr id
  convertedArg <- convertExpr arg
  temporaryName <- gensym
  pushStatement $ \body -> E.QualifiedYield convertedId listenerName convertedArg (E.Block Nothing (E.VarBind temporaryName) body)
  return $ E.VarAccess temporaryName