--------------------------------------------------
-- Control flow
--------------------------------------------------
parseDefine :: Parser AST.Value
parseDefine = do
  Lexer.reserved "define"
  name <- Lexer.identifier
  forms <- Lexer.braces (many parseExpr)
  return $ AST.Define (T.unpack name) forms
parseDefine :: Parser AST.Value
parseDefine = do
  Lexer.reserved "define"
  name <- Lexer.identifier
  forms <- Lexer.braces (many parseExpr)
  return $ AST.Define (T.unpack name) forms
parseDefine = do
  Lexer.reserved "define"
  name <- Lexer.identifier
  forms <- Lexer.braces (many parseExpr)
  return $ AST.Define (T.unpack name) forms