funcgen :: AST -> [Operand] -> CodeGen ()
funcgen x args = do
  startBlock (Name "entry")
  local (\(CGS vars) -> CGS (args ++ vars)) $ cgExpr x
  pure ()
funcgen :: AST -> [Operand] -> CodeGen ()
funcgen x args = do
  startBlock (Name "entry")
  local (\(CGS vars) -> CGS (args ++ vars)) $ cgExpr x
  pure ()
funcgen x args = do
  startBlock (Name "entry")
  local (\(CGS vars) -> CGS (args ++ vars)) $ cgExpr x
  pure ()