     parseTest(
       "abc", concat("a", "b", "c"))
     parseTest(
-      "abc\\+d*",
+      #"abc\+d*"#,
       concat("a", "b", "c", "+", .zeroOrMore(.greedy, "d")))
     parseTest(
       "a(b)", concat("a", .group(.capture(), "b")))

      .leftParen, .question, ":", "a", .pipe, "b",
      .rightParen, "c")
    lexTest(
      "a\\u0065b\\u{65}c\\x65d",
      "a", .unicodeScalar("e"),
      "b", .unicodeScalar("e"),
      "c", .unicodeScalar("e"), "d")


extension RegexTests {
  func testLex() {
    _ = #"""
        Note: Since everything's String-based, use raw strings for backslashes.
        Examples:
          "abc" -> ｢abc｣
          #"abc\+d*"# -> ｢abc+d｣ star
          "abc(de)+fghi*k|j" ->
              ｢abc｣ lparen ｢de｣ rparen plus ｢fghi｣ star ｢k｣ pipe ｢j｣

        Gramatically invalid but lexically accepted examples:
          #"|*\\"# -> pipe star ｢\\｣
          ")ab(+" -> rparen ｢ab｣ lparen plus
        """#
    func esc(_ c: Character) -> Token {
      .character(c, isEscaped: true)
    }
