>#let x = 1;
#^ source.typst keyword.control.hash.typst
# ^^^ source.typst meta.expr.let.typst storage.type.typst
#    ^ source.typst meta.expr.let.typst
#     ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#      ^ source.typst meta.expr.let.typst
#       ^^ source.typst meta.expr.let.typst keyword.operator.assignment.typst
#         ^ source.typst meta.expr.let.typst constant.numeric.integer.typst
#          ^ source.typst punctuation.terminator.statement.typst
>#let (x) = 1;
#^ source.typst keyword.control.hash.typst
# ^^^ source.typst meta.expr.let.typst storage.type.typst
#    ^ source.typst meta.expr.let.typst
#     ^ source.typst meta.expr.let.typst meta.brace.round.typst
#      ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#       ^ source.typst meta.expr.let.typst meta.brace.round.typst
#        ^ source.typst meta.expr.let.typst
#         ^^ source.typst meta.expr.let.typst keyword.operator.assignment.typst
#           ^ source.typst meta.expr.let.typst constant.numeric.integer.typst
#            ^ source.typst punctuation.terminator.statement.typst
>#let (x, y) = (1, 1);
#^ source.typst keyword.control.hash.typst
# ^^^ source.typst meta.expr.let.typst storage.type.typst
#    ^ source.typst meta.expr.let.typst
#     ^ source.typst meta.expr.let.typst meta.brace.round.typst
#      ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#       ^ source.typst meta.expr.let.typst punctuation.separator.comma.typst
#        ^ source.typst meta.expr.let.typst
#         ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#          ^ source.typst meta.expr.let.typst meta.brace.round.typst
#           ^ source.typst meta.expr.let.typst
#            ^^ source.typst meta.expr.let.typst keyword.operator.assignment.typst
#              ^ source.typst meta.expr.let.typst meta.brace.round.typst
#               ^ source.typst meta.expr.let.typst constant.numeric.integer.typst
#                ^ source.typst meta.expr.let.typst punctuation.separator.comma.typst
#                 ^ source.typst meta.expr.let.typst
#                  ^ source.typst meta.expr.let.typst constant.numeric.integer.typst
#                   ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                    ^ source.typst punctuation.terminator.statement.typst
>#let (x, (y, z)) = (1, (1, 1));
#^ source.typst keyword.control.hash.typst
# ^^^ source.typst meta.expr.let.typst storage.type.typst
#    ^ source.typst meta.expr.let.typst
#     ^ source.typst meta.expr.let.typst meta.brace.round.typst
#      ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#       ^ source.typst meta.expr.let.typst punctuation.separator.comma.typst
#        ^ source.typst meta.expr.let.typst
#         ^ source.typst meta.expr.let.typst meta.brace.round.typst
#          ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#           ^ source.typst meta.expr.let.typst punctuation.separator.comma.typst
#            ^ source.typst meta.expr.let.typst
#             ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#              ^ source.typst meta.expr.let.typst meta.brace.round.typst
#               ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                ^ source.typst meta.expr.let.typst
#                 ^^ source.typst meta.expr.let.typst keyword.operator.assignment.typst
#                   ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                    ^ source.typst meta.expr.let.typst constant.numeric.integer.typst
#                     ^ source.typst meta.expr.let.typst punctuation.separator.comma.typst
#                      ^ source.typst meta.expr.let.typst
#                       ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                        ^ source.typst meta.expr.let.typst constant.numeric.integer.typst
#                         ^ source.typst meta.expr.let.typst punctuation.separator.comma.typst
#                          ^ source.typst meta.expr.let.typst
#                           ^ source.typst meta.expr.let.typst constant.numeric.integer.typst
#                            ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                             ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                              ^ source.typst punctuation.terminator.statement.typst
>#let (a: a) = (a: 1);
#^ source.typst keyword.control.hash.typst
# ^^^ source.typst meta.expr.let.typst storage.type.typst
#    ^ source.typst meta.expr.let.typst
#     ^ source.typst meta.expr.let.typst meta.brace.round.typst
#      ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#       ^ source.typst meta.expr.let.typst punctuation.separator.colon.typst
#        ^ source.typst meta.expr.let.typst
#         ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#          ^ source.typst meta.expr.let.typst meta.brace.round.typst
#           ^ source.typst meta.expr.let.typst
#            ^^ source.typst meta.expr.let.typst keyword.operator.assignment.typst
#              ^ source.typst meta.expr.let.typst meta.brace.round.typst
#               ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#                ^ source.typst meta.expr.let.typst punctuation.separator.colon.typst
#                 ^ source.typst meta.expr.let.typst
#                  ^ source.typst meta.expr.let.typst constant.numeric.integer.typst
#                   ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                    ^ source.typst punctuation.terminator.statement.typst
>#let (a, (b: b)) = (1, (b: 1));
#^ source.typst keyword.control.hash.typst
# ^^^ source.typst meta.expr.let.typst storage.type.typst
#    ^ source.typst meta.expr.let.typst
#     ^ source.typst meta.expr.let.typst meta.brace.round.typst
#      ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#       ^ source.typst meta.expr.let.typst punctuation.separator.comma.typst
#        ^ source.typst meta.expr.let.typst
#         ^ source.typst meta.expr.let.typst meta.brace.round.typst
#          ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#           ^ source.typst meta.expr.let.typst punctuation.separator.colon.typst
#            ^ source.typst meta.expr.let.typst
#             ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#              ^ source.typst meta.expr.let.typst meta.brace.round.typst
#               ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                ^ source.typst meta.expr.let.typst
#                 ^^ source.typst meta.expr.let.typst keyword.operator.assignment.typst
#                   ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                    ^ source.typst meta.expr.let.typst constant.numeric.integer.typst
#                     ^ source.typst meta.expr.let.typst punctuation.separator.comma.typst
#                      ^ source.typst meta.expr.let.typst
#                       ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                        ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#                         ^ source.typst meta.expr.let.typst punctuation.separator.colon.typst
#                          ^ source.typst meta.expr.let.typst
#                           ^ source.typst meta.expr.let.typst constant.numeric.integer.typst
#                            ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                             ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                              ^ source.typst punctuation.terminator.statement.typst
>#let (a, (b: (c, (b: b)))) = (a, (b: (1, (b: b))));
#^ source.typst keyword.control.hash.typst
# ^^^ source.typst meta.expr.let.typst storage.type.typst
#    ^ source.typst meta.expr.let.typst
#     ^ source.typst meta.expr.let.typst meta.brace.round.typst
#      ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#       ^ source.typst meta.expr.let.typst punctuation.separator.comma.typst
#        ^ source.typst meta.expr.let.typst
#         ^ source.typst meta.expr.let.typst meta.brace.round.typst
#          ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#           ^ source.typst meta.expr.let.typst punctuation.separator.colon.typst
#            ^ source.typst meta.expr.let.typst
#             ^ source.typst meta.expr.let.typst meta.brace.round.typst
#              ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#               ^ source.typst meta.expr.let.typst punctuation.separator.comma.typst
#                ^ source.typst meta.expr.let.typst
#                 ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                  ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#                   ^ source.typst meta.expr.let.typst punctuation.separator.colon.typst
#                    ^ source.typst meta.expr.let.typst
#                     ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#                      ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                       ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                        ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                         ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                          ^ source.typst meta.expr.let.typst
#                           ^^ source.typst meta.expr.let.typst keyword.operator.assignment.typst
#                             ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                              ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#                               ^ source.typst meta.expr.let.typst punctuation.separator.comma.typst
#                                ^ source.typst meta.expr.let.typst
#                                 ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                                  ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#                                   ^ source.typst meta.expr.let.typst punctuation.separator.colon.typst
#                                    ^ source.typst meta.expr.let.typst
#                                     ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                                      ^ source.typst meta.expr.let.typst constant.numeric.integer.typst
#                                       ^ source.typst meta.expr.let.typst punctuation.separator.comma.typst
#                                        ^ source.typst meta.expr.let.typst
#                                         ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                                          ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#                                           ^ source.typst meta.expr.let.typst punctuation.separator.colon.typst
#                                            ^ source.typst meta.expr.let.typst
#                                             ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#                                              ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                                               ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                                                ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                                                 ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                                                  ^ source.typst punctuation.terminator.statement.typst
>#let ((b: (c, (b: b))), a) = ((b: (1, (b: b))), a);
#^ source.typst keyword.control.hash.typst
# ^^^ source.typst meta.expr.let.typst storage.type.typst
#    ^ source.typst meta.expr.let.typst
#     ^ source.typst meta.expr.let.typst meta.brace.round.typst
#      ^ source.typst meta.expr.let.typst meta.brace.round.typst
#       ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#        ^ source.typst meta.expr.let.typst punctuation.separator.colon.typst
#         ^ source.typst meta.expr.let.typst
#          ^ source.typst meta.expr.let.typst meta.brace.round.typst
#           ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#            ^ source.typst meta.expr.let.typst punctuation.separator.comma.typst
#             ^ source.typst meta.expr.let.typst
#              ^ source.typst meta.expr.let.typst meta.brace.round.typst
#               ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#                ^ source.typst meta.expr.let.typst punctuation.separator.colon.typst
#                 ^ source.typst meta.expr.let.typst
#                  ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#                   ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                    ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                     ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                      ^ source.typst meta.expr.let.typst punctuation.separator.comma.typst
#                       ^ source.typst meta.expr.let.typst
#                        ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#                         ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                          ^ source.typst meta.expr.let.typst
#                           ^^ source.typst meta.expr.let.typst keyword.operator.assignment.typst
#                             ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                              ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                               ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#                                ^ source.typst meta.expr.let.typst punctuation.separator.colon.typst
#                                 ^ source.typst meta.expr.let.typst
#                                  ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                                   ^ source.typst meta.expr.let.typst constant.numeric.integer.typst
#                                    ^ source.typst meta.expr.let.typst punctuation.separator.comma.typst
#                                     ^ source.typst meta.expr.let.typst
#                                      ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                                       ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#                                        ^ source.typst meta.expr.let.typst punctuation.separator.colon.typst
#                                         ^ source.typst meta.expr.let.typst
#                                          ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#                                           ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                                            ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                                             ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                                              ^ source.typst meta.expr.let.typst punctuation.separator.comma.typst
#                                               ^ source.typst meta.expr.let.typst
#                                                ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#                                                 ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                                                  ^ source.typst punctuation.terminator.statement.typst
>#let (a, ..) = (1, 1);
#^ source.typst keyword.control.hash.typst
# ^^^ source.typst meta.expr.let.typst storage.type.typst
#    ^ source.typst meta.expr.let.typst
#     ^ source.typst meta.expr.let.typst meta.brace.round.typst
#      ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#       ^ source.typst meta.expr.let.typst punctuation.separator.comma.typst
#        ^ source.typst meta.expr.let.typst
#         ^^ source.typst meta.expr.let.typst keyword.operator.spread.typst
#           ^ source.typst meta.expr.let.typst meta.brace.round.typst
#            ^ source.typst meta.expr.let.typst
#             ^^ source.typst meta.expr.let.typst keyword.operator.assignment.typst
#               ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                ^ source.typst meta.expr.let.typst constant.numeric.integer.typst
#                 ^ source.typst meta.expr.let.typst punctuation.separator.comma.typst
#                  ^ source.typst meta.expr.let.typst
#                   ^ source.typst meta.expr.let.typst constant.numeric.integer.typst
#                    ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                     ^ source.typst punctuation.terminator.statement.typst
>#let (.., a) = (1, 1);
#^ source.typst keyword.control.hash.typst
# ^^^ source.typst meta.expr.let.typst storage.type.typst
#    ^ source.typst meta.expr.let.typst
#     ^ source.typst meta.expr.let.typst meta.brace.round.typst
#      ^^ source.typst meta.expr.let.typst keyword.operator.spread.typst
#        ^ source.typst meta.expr.let.typst punctuation.separator.comma.typst
#         ^ source.typst meta.expr.let.typst
#          ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#           ^ source.typst meta.expr.let.typst meta.brace.round.typst
#            ^ source.typst meta.expr.let.typst
#             ^^ source.typst meta.expr.let.typst keyword.operator.assignment.typst
#               ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                ^ source.typst meta.expr.let.typst constant.numeric.integer.typst
#                 ^ source.typst meta.expr.let.typst punctuation.separator.comma.typst
#                  ^ source.typst meta.expr.let.typst
#                   ^ source.typst meta.expr.let.typst constant.numeric.integer.typst
#                    ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                     ^ source.typst punctuation.terminator.statement.typst
>#let (a: a, ..) = (a: a);
#^ source.typst keyword.control.hash.typst
# ^^^ source.typst meta.expr.let.typst storage.type.typst
#    ^ source.typst meta.expr.let.typst
#     ^ source.typst meta.expr.let.typst meta.brace.round.typst
#      ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#       ^ source.typst meta.expr.let.typst punctuation.separator.colon.typst
#        ^ source.typst meta.expr.let.typst
#         ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#          ^ source.typst meta.expr.let.typst punctuation.separator.comma.typst
#           ^ source.typst meta.expr.let.typst
#            ^^ source.typst meta.expr.let.typst keyword.operator.spread.typst
#              ^ source.typst meta.expr.let.typst meta.brace.round.typst
#               ^ source.typst meta.expr.let.typst
#                ^^ source.typst meta.expr.let.typst keyword.operator.assignment.typst
#                  ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                   ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#                    ^ source.typst meta.expr.let.typst punctuation.separator.colon.typst
#                     ^ source.typst meta.expr.let.typst
#                      ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#                       ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                        ^ source.typst punctuation.terminator.statement.typst
>#let (.., a: a) = (a: a);
#^ source.typst keyword.control.hash.typst
# ^^^ source.typst meta.expr.let.typst storage.type.typst
#    ^ source.typst meta.expr.let.typst
#     ^ source.typst meta.expr.let.typst meta.brace.round.typst
#      ^^ source.typst meta.expr.let.typst keyword.operator.spread.typst
#        ^ source.typst meta.expr.let.typst punctuation.separator.comma.typst
#         ^ source.typst meta.expr.let.typst
#          ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#           ^ source.typst meta.expr.let.typst punctuation.separator.colon.typst
#            ^ source.typst meta.expr.let.typst
#             ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#              ^ source.typst meta.expr.let.typst meta.brace.round.typst
#               ^ source.typst meta.expr.let.typst
#                ^^ source.typst meta.expr.let.typst keyword.operator.assignment.typst
#                  ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                   ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#                    ^ source.typst meta.expr.let.typst punctuation.separator.colon.typst
#                     ^ source.typst meta.expr.let.typst
#                      ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#                       ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                        ^ source.typst punctuation.terminator.statement.typst
>#let (a: a, .., b: b) = (a: a, b: b);
#^ source.typst keyword.control.hash.typst
# ^^^ source.typst meta.expr.let.typst storage.type.typst
#    ^ source.typst meta.expr.let.typst
#     ^ source.typst meta.expr.let.typst meta.brace.round.typst
#      ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#       ^ source.typst meta.expr.let.typst punctuation.separator.colon.typst
#        ^ source.typst meta.expr.let.typst
#         ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#          ^ source.typst meta.expr.let.typst punctuation.separator.comma.typst
#           ^ source.typst meta.expr.let.typst
#            ^^ source.typst meta.expr.let.typst keyword.operator.spread.typst
#              ^ source.typst meta.expr.let.typst punctuation.separator.comma.typst
#               ^ source.typst meta.expr.let.typst
#                ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#                 ^ source.typst meta.expr.let.typst punctuation.separator.colon.typst
#                  ^ source.typst meta.expr.let.typst
#                   ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#                    ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                     ^ source.typst meta.expr.let.typst
#                      ^^ source.typst meta.expr.let.typst keyword.operator.assignment.typst
#                        ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                         ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#                          ^ source.typst meta.expr.let.typst punctuation.separator.colon.typst
#                           ^ source.typst meta.expr.let.typst
#                            ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#                             ^ source.typst meta.expr.let.typst punctuation.separator.comma.typst
#                              ^ source.typst meta.expr.let.typst
#                               ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#                                ^ source.typst meta.expr.let.typst punctuation.separator.colon.typst
#                                 ^ source.typst meta.expr.let.typst
#                                  ^ source.typst meta.expr.let.typst variable.other.readwrite.typst
#                                   ^ source.typst meta.expr.let.typst meta.brace.round.typst
#                                    ^ source.typst punctuation.terminator.statement.typst