parseLet :: Parser AST.Value
parseLet = do
  Lexer.reserved "let"
  name <- Lexer.identifier
  Lexer.lexeme (char '=')
  expr <- parseExpr
  return $ AST.Let (T.unpack name) expr
parseLet :: Parser AST.Value
parseLet = do
  Lexer.reserved "let"
  name <- Lexer.identifier
  Lexer.lexeme (char '=')
  expr <- parseExpr
  return $ AST.Let (T.unpack name) expr
parseLet = do
  Lexer.reserved "let"
  name <- Lexer.identifier
  Lexer.lexeme (char '=')
  expr <- parseExpr
  return $ AST.Let (T.unpack name) expr