convertStmt (P.Bind lval (P.FCall func arg)) =
  let (convertedFunc, (stmts, n)) = runState (convertExpr func) (id, 1)
      (convertedArg, (stmts2, _)) = runState (convertExpr arg) (id, n)
      convertedLVal = convertLValue lval
  in stmts . stmts2 . \body -> E.Advance convertedFunc convertedArg [("return", E.Block Nothing (E.TuplePattern [convertedLVal, E.NobodyCares]) body)]
convertStmt (P.Bind lval (P.FCall func arg)) =
  let (convertedFunc, (stmts, n)) = runState (convertExpr func) (id, 1)
      (convertedArg, (stmts2, _)) = runState (convertExpr arg) (id, n)
      convertedLVal = convertLValue lval
  in stmts . stmts2 . \body -> E.Advance convertedFunc convertedArg [("return", E.Block Nothing (E.TuplePattern [convertedLVal, E.NobodyCares]) body)]
convertStmt (P.Bind lval (P.FCall func arg)) =
  let (convertedFunc, (stmts, n)) = runState (convertExpr func) (id, 1)
      (convertedArg, (stmts2, _)) = runState (convertExpr arg) (id, n)
      convertedLVal = convertLValue lval
  in stmts . stmts2 . \body -> E.Advance convertedFunc convertedArg [("return", E.Block Nothing (E.TuplePattern [convertedLVal, E.NobodyCares]) body)]