>#let f() = 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 entity.name.function.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 constant.numeric.integer.typst
#            ^ source.typst punctuation.terminator.statement.typst
>#let f(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 entity.name.function.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 f(a, b: none) = 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 entity.name.function.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 punctuation.separator.colon.typst
#            ^ source.typst meta.expr.let.typst
#             ^^^^ source.typst meta.expr.let.typst keyword.other.none.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 f(a, (b, c)) = 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 entity.name.function.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 constant.numeric.integer.typst
#                     ^ source.typst punctuation.terminator.statement.typst
>#let f(a, (b, c: d)) = 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 entity.name.function.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 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 constant.numeric.integer.typst
#                        ^ source.typst punctuation.terminator.statement.typst
>#let f((a, 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 entity.name.function.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.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 constant.numeric.integer.typst
#                  ^ source.typst punctuation.terminator.statement.typst
>#let f((a, (c: (b: e)))) = 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 entity.name.function.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.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.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 constant.numeric.integer.typst
#                            ^ source.typst punctuation.terminator.statement.typst
>#let f((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 entity.name.function.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.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 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 f((.., 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 entity.name.function.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 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 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