tcStmt ret (VarStatement l decl) = tcStmtBlock l "var statement" $ do
    decl' <- tcVarDecl LocalScope decl
    let t = StmtType (Set.singleton $ StmtFallthru $ ComplexT Void)
    return (VarStatement (notTyped "tcStmt" l) decl',t)
tcStmt ret (VarStatement l decl) = tcStmtBlock l "var statement" $ do
    decl' <- tcVarDecl LocalScope decl
    let t = StmtType (Set.singleton $ StmtFallthru $ ComplexT Void)
    return (VarStatement (notTyped "tcStmt" l) decl',t)
tcStmt ret (VarStatement l decl) = tcStmtBlock l "var statement" $ do
    decl' <- tcVarDecl LocalScope decl
    let t = StmtType (Set.singleton $ StmtFallthru $ ComplexT Void)
    return (VarStatement (notTyped "tcStmt" l) decl',t)