---
Root {
 trivia_before: [],
 expression: LetIn {
  let_: Lexeme {
   kind: "LET",
   raw: "let",
   position: (1, 1),
  },
  let_trivia: [
   Lexeme {
    kind: "WS",
    raw: "\n  ",
    position: (1, 4),
   },
   Lexeme {
    kind: "COMMENT",
    raw: "# https://en.wikipedia.org/wiki/John_Doe",
    position: (2, 3),
   },
   Lexeme {
    kind: "WS",
    raw: "\n  ",
    position: (2, 43),
   },
  ],
  bindings: [
   Binding {
    binding: Binding {
     from: AttributePath {
      parts: [
       AttributePathPart {
        part: PartRaw {
         lexeme: Lexeme {
          kind: "ID",
          raw: "name",
          position: (3, 3),
         },
        },
        part_trivia: [],
        dot: None,
       },
      ],
     },
     from_trivia: [
      Lexeme {
       kind: "WS",
       raw: " ",
       position: (3, 7),
      },
     ],
     equal: Lexeme {
      kind: "=",
      raw: "=",
      position: (3, 8),
     },
     equal_trivia: [
      Lexeme {
       kind: "WS",
       raw: " ",
       position: (3, 9),
      },
     ],
     to: String {
      open: Lexeme {
       kind: "\"",
       raw: "\"",
       position: (3, 10),
      },
      parts: [
       PartRaw {
        lexeme: Lexeme {
         kind: "STR",
         raw: "John Doe",
         position: (3, 11),
        },
       },
      ],
      close: Lexeme {
       kind: "\"",
       raw: "\"",
       position: (3, 19),
      },
     },
     to_trivia: [],
     semicolon: Lexeme {
      kind: ";",
      raw: ";",
      position: (3, 20),
     },
    },
    binding_trivia: [
     Lexeme {
      kind: "WS",
      raw: "\n",
      position: (3, 21),
     },
    ],
   },
  ],
  in_: Lexeme {
   kind: "IN",
   raw: "in",
   position: (4, 1),
  },
  in_trivia: [
   Lexeme {
    kind: "WS",
    raw: " ",
    position: (4, 3),
   },
  ],
  target: String {
   open: Lexeme {
    kind: "\"",
    raw: "\"",
    position: (4, 4),
   },
   parts: [
    PartRaw {
     lexeme: Lexeme {
      kind: "STR",
      raw: "Hello, ",
      position: (4, 5),
     },
    },
    PartInterpolation {
     open: Lexeme {
      kind: "DOLLAR_CURLY",
      raw: "${",
      position: (4, 12),
     },
     open_trivia: [],
     expression: Variable {
      lexeme: Lexeme {
       kind: "ID",
       raw: "name",
       position: (4, 14),
      },
     },
     expression_trivia: [],
     close: Lexeme {
      kind: "}",
      raw: "}",
      position: (4, 18),
     },
    },
    PartRaw {
     lexeme: Lexeme {
      kind: "STR",
      raw: "!",
      position: (4, 19),
     },
    },
   ],
   close: Lexeme {
    kind: "\"",
    raw: "\"",
    position: (4, 20),
   },
  },
 },
 trivia_after: [],
}