[
  {
    "type": "_declaration",
    "named": true,
    "subtypes": [
      {
        "type": "class_declaration",
        "named": true
      },
      {
        "type": "function_declaration",
        "named": true
      },
      {
        "type": "function_predeclaration",
        "named": true
      },
      {
        "type": "import_statement",
        "named": true
      },
      {
        "type": "trait_declaration",
        "named": true
      },
      {
        "type": "variable_declaration",
        "named": true
      }
    ]
  },
  {
    "type": "_expression",
    "named": true,
    "subtypes": [
      {
        "type": "_literal",
        "named": true
      },
      {
        "type": "assignment_expression",
        "named": true
      },
      {
        "type": "await_expression",
        "named": true
      },
      {
        "type": "bag_literal",
        "named": true
      },
      {
        "type": "binary_expression",
        "named": true
      },
      {
        "type": "call_expression",
        "named": true
      },
      {
        "type": "ceil_expression",
        "named": true
      },
      {
        "type": "chain_expression",
        "named": true
      },
      {
        "type": "dict_access_expression",
        "named": true
      },
      {
        "type": "dict_literal",
        "named": true
      },
      {
        "type": "do_expression",
        "named": true
      },
      {
        "type": "dynamic_member_expression",
        "named": true
      },
      {
        "type": "floor_expression",
        "named": true
      },
      {
        "type": "function_expression",
        "named": true
      },
      {
        "type": "identifier",
        "named": true
      },
      {
        "type": "index_expression",
        "named": true
      },
      {
        "type": "lambda_expression",
        "named": true
      },
      {
        "type": "let_expression",
        "named": true
      },
      {
        "type": "list_literal",
        "named": true
      },
      {
        "type": "magic_global",
        "named": true
      },
      {
        "type": "member_expression",
        "named": true
      },
      {
        "type": "new_expression",
        "named": true
      },
      {
        "type": "pair_list_literal",
        "named": true
      },
      {
        "type": "parenthesized_expression",
        "named": true
      },
      {
        "type": "placeholder",
        "named": true
      },
      {
        "type": "postfix_expression",
        "named": true
      },
      {
        "type": "self",
        "named": true
      },
      {
        "type": "set_literal",
        "named": true
      },
      {
        "type": "slice_expression",
        "named": true
      },
      {
        "type": "spawn_expression",
        "named": true
      },
      {
        "type": "super",
        "named": true
      },
      {
        "type": "ternary_expression",
        "named": true
      },
      {
        "type": "try_expression",
        "named": true
      },
      {
        "type": "type_identifier",
        "named": true
      },
      {
        "type": "unary_expression",
        "named": true
      }
    ]
  },
  {
    "type": "_literal",
    "named": true,
    "subtypes": [
      {
        "type": "boolean",
        "named": true
      },
      {
        "type": "null",
        "named": true
      },
      {
        "type": "number",
        "named": true
      },
      {
        "type": "regexp",
        "named": true
      },
      {
        "type": "string",
        "named": true
      },
      {
        "type": "template_string",
        "named": true
      }
    ]
  },
  {
    "type": "_statement",
    "named": true,
    "subtypes": [
      {
        "type": "assignment_statement",
        "named": true
      },
      {
        "type": "block",
        "named": true
      },
      {
        "type": "builtin_statement",
        "named": true
      },
      {
        "type": "empty_statement",
        "named": true
      },
      {
        "type": "expression_statement",
        "named": true
      },
      {
        "type": "for_statement",
        "named": true
      },
      {
        "type": "if_statement",
        "named": true
      },
      {
        "type": "loop_control_statement",
        "named": true
      },
      {
        "type": "return_statement",
        "named": true
      },
      {
        "type": "switch_statement",
        "named": true
      },
      {
        "type": "throw_statement",
        "named": true
      },
      {
        "type": "try_statement",
        "named": true
      },
      {
        "type": "while_statement",
        "named": true
      }
    ]
  },
  {
    "type": "argument_list",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "_expression",
          "named": true
        },
        {
          "type": "pair_entry",
          "named": true
        },
        {
          "type": "spread_argument",
          "named": true
        }
      ]
    }
  },
  {
    "type": "assignment_expression",
    "named": true,
    "fields": {
      "left": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      },
      "operator": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "assignment_operator",
            "named": true
          }
        ]
      },
      "right": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "weak_modifier",
          "named": true
        }
      ]
    }
  },
  {
    "type": "assignment_operator",
    "named": true,
    "fields": {}
  },
  {
    "type": "assignment_statement",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "await_expression",
    "named": true,
    "fields": {
      "argument": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          },
          {
            "type": "block",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "bag_literal",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "bare_key",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "reserved_word_key",
          "named": true
        }
      ]
    }
  },
  {
    "type": "binary_expression",
    "named": true,
    "fields": {
      "left": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      },
      "operator": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "!=",
            "named": false
          },
          {
            "type": "&",
            "named": false
          },
          {
            "type": "*",
            "named": false
          },
          {
            "type": "**",
            "named": false
          },
          {
            "type": "+",
            "named": false
          },
          {
            "type": "-",
            "named": false
          },
          {
            "type": "->",
            "named": false
          },
          {
            "type": "...",
            "named": false
          },
          {
            "type": "/",
            "named": false
          },
          {
            "type": "<",
            "named": false
          },
          {
            "type": "<<",
            "named": false
          },
          {
            "type": "<=",
            "named": false
          },
          {
            "type": "<=>",
            "named": false
          },
          {
            "type": "=",
            "named": false
          },
          {
            "type": "==",
            "named": false
          },
          {
            "type": ">",
            "named": false
          },
          {
            "type": ">=",
            "named": false
          },
          {
            "type": ">>",
            "named": false
          },
          {
            "type": "@",
            "named": false
          },
          {
            "type": "@?",
            "named": false
          },
          {
            "type": "@@",
            "named": false
          },
          {
            "type": "\\",
            "named": false
          },
          {
            "type": "^",
            "named": false
          },
          {
            "type": "_",
            "named": false
          },
          {
            "type": "and",
            "named": false
          },
          {
            "type": "and?",
            "named": false
          },
          {
            "type": "butnot",
            "named": false
          },
          {
            "type": "butnot?",
            "named": false
          },
          {
            "type": "can",
            "named": false
          },
          {
            "type": "cmp",
            "named": false
          },
          {
            "type": "cmpi",
            "named": false
          },
          {
            "type": "default",
            "named": false
          },
          {
            "type": "divides",
            "named": false
          },
          {
            "type": "does",
            "named": false
          },
          {
            "type": "eq",
            "named": false
          },
          {
            "type": "eqi",
            "named": false
          },
          {
            "type": "equivalentof",
            "named": false
          },
          {
            "type": "ge",
            "named": false
          },
          {
            "type": "gei",
            "named": false
          },
          {
            "type": "gt",
            "named": false
          },
          {
            "type": "gti",
            "named": false
          },
          {
            "type": "in",
            "named": false
          },
          {
            "type": "instanceof",
            "named": false
          },
          {
            "type": "intersection",
            "named": false
          },
          {
            "type": "le",
            "named": false
          },
          {
            "type": "lei",
            "named": false
          },
          {
            "type": "lt",
            "named": false
          },
          {
            "type": "lti",
            "named": false
          },
          {
            "type": "mod",
            "named": false
          },
          {
            "type": "nand",
            "named": false
          },
          {
            "type": "nand?",
            "named": false
          },
          {
            "type": "ne",
            "named": false
          },
          {
            "type": "nei",
            "named": false
          },
          {
            "type": "nor",
            "named": false
          },
          {
            "type": "nor?",
            "named": false
          },
          {
            "type": "onlyif",
            "named": false
          },
          {
            "type": "onlyif?",
            "named": false
          },
          {
            "type": "or",
            "named": false
          },
          {
            "type": "or?",
            "named": false
          },
          {
            "type": "subsetof",
            "named": false
          },
          {
            "type": "supersetof",
            "named": false
          },
          {
            "type": "union",
            "named": false
          },
          {
            "type": "xnor",
            "named": false
          },
          {
            "type": "xnor?",
            "named": false
          },
          {
            "type": "xor",
            "named": false
          },
          {
            "type": "xor?",
            "named": false
          },
          {
            "type": "|",
            "named": false
          },
          {
            "type": "~",
            "named": false
          },
          {
            "type": "«",
            "named": false
          },
          {
            "type": "»",
            "named": false
          },
          {
            "type": "×",
            "named": false
          },
          {
            "type": "÷",
            "named": false
          },
          {
            "type": "→",
            "named": false
          },
          {
            "type": "↔",
            "named": false
          },
          {
            "type": "↔?",
            "named": false
          },
          {
            "type": "∈",
            "named": false
          },
          {
            "type": "∉",
            "named": false
          },
          {
            "type": "∖",
            "named": false
          },
          {
            "type": "∣",
            "named": false
          },
          {
            "type": "∤",
            "named": false
          },
          {
            "type": "≠",
            "named": false
          },
          {
            "type": "≡",
            "named": false
          },
          {
            "type": "≢",
            "named": false
          },
          {
            "type": "≤",
            "named": false
          },
          {
            "type": "≥",
            "named": false
          },
          {
            "type": "≶",
            "named": false
          },
          {
            "type": "≷",
            "named": false
          },
          {
            "type": "⊂",
            "named": false
          },
          {
            "type": "⊂⊃",
            "named": false
          },
          {
            "type": "⊃",
            "named": false
          },
          {
            "type": "⊨",
            "named": false
          },
          {
            "type": "⊨?",
            "named": false
          },
          {
            "type": "⊭",
            "named": false
          },
          {
            "type": "⊭?",
            "named": false
          },
          {
            "type": "⊻",
            "named": false
          },
          {
            "type": "⊻?",
            "named": false
          },
          {
            "type": "⊼",
            "named": false
          },
          {
            "type": "⊼?",
            "named": false
          },
          {
            "type": "⊽",
            "named": false
          },
          {
            "type": "⊽?",
            "named": false
          },
          {
            "type": "⋀",
            "named": false
          },
          {
            "type": "⋀?",
            "named": false
          },
          {
            "type": "⋁",
            "named": false
          },
          {
            "type": "⋁?",
            "named": false
          },
          {
            "type": "⋂",
            "named": false
          },
          {
            "type": "⋃",
            "named": false
          }
        ]
      },
      "right": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "binding_identifier",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "type_identifier",
          "named": true
        }
      ]
    }
  },
  {
    "type": "block",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "_declaration",
          "named": true
        },
        {
          "type": "_statement",
          "named": true
        }
      ]
    }
  },
  {
    "type": "boolean",
    "named": true,
    "fields": {}
  },
  {
    "type": "builtin_statement",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "assert",
            "named": false
          },
          {
            "type": "debug",
            "named": false
          },
          {
            "type": "print",
            "named": false
          },
          {
            "type": "say",
            "named": false
          },
          {
            "type": "warn",
            "named": false
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "call_expression",
    "named": true,
    "fields": {
      "arguments": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "argument_list",
            "named": true
          }
        ]
      },
      "function": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "case_clause",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_declaration",
          "named": true
        },
        {
          "type": "_statement",
          "named": true
        },
        {
          "type": "case_match_value",
          "named": true
        },
        {
          "type": "case_operator_value",
          "named": true
        },
        {
          "type": "case_value",
          "named": true
        }
      ]
    }
  },
  {
    "type": "case_match_value",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "case_operator_value",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        },
        {
          "type": "operator_name",
          "named": true
        }
      ]
    }
  },
  {
    "type": "case_value",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "catch_clause",
    "named": true,
    "fields": {
      "body": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "block",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "type": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "type_expression",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "ceil_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "chain_expression",
    "named": true,
    "fields": {
      "left": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      },
      "operator": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "<|",
            "named": false
          },
          {
            "type": "|>",
            "named": false
          },
          {
            "type": "▷",
            "named": false
          },
          {
            "type": "◁",
            "named": false
          }
        ]
      },
      "right": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "class_body",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "class_declaration",
          "named": true
        },
        {
          "type": "field_declaration",
          "named": true
        },
        {
          "type": "method_declaration",
          "named": true
        },
        {
          "type": "method_predeclaration",
          "named": true
        },
        {
          "type": "trait_declaration",
          "named": true
        }
      ]
    }
  },
  {
    "type": "class_declaration",
    "named": true,
    "fields": {
      "body": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "class_body",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "binding_identifier",
            "named": true
          }
        ]
      },
      "superclass": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "type_expression",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "trait_composition",
          "named": true
        }
      ]
    }
  },
  {
    "type": "constructor_target",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "identifier",
          "named": true
        },
        {
          "type": "type_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "default_clause",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "_declaration",
          "named": true
        },
        {
          "type": "_statement",
          "named": true
        }
      ]
    }
  },
  {
    "type": "destructuring_entry",
    "named": true,
    "fields": {
      "default": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      },
      "key": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "parenthesized_expression",
            "named": true
          },
          {
            "type": "string",
            "named": true
          },
          {
            "type": "template_string",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "type": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "type_expression",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "weak_modifier",
          "named": true
        }
      ]
    }
  },
  {
    "type": "destructuring_pattern",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "destructuring_entry",
          "named": true
        }
      ]
    }
  },
  {
    "type": "dict_access_expression",
    "named": true,
    "fields": {
      "key": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          },
          {
            "type": "bare_key",
            "named": true
          }
        ]
      },
      "object": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "dict_literal",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "pair_entry",
          "named": true
        }
      ]
    }
  },
  {
    "type": "do_expression",
    "named": true,
    "fields": {
      "body": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "block",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "dynamic_member_expression",
    "named": true,
    "fields": {
      "object": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      },
      "property": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "empty_statement",
    "named": true,
    "fields": {}
  },
  {
    "type": "expression_statement",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "field_accessor_list",
    "named": true,
    "fields": {}
  },
  {
    "type": "field_declaration",
    "named": true,
    "fields": {
      "kind": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "const",
            "named": false
          },
          {
            "type": "let",
            "named": false
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "type": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "type_expression",
            "named": true
          }
        ]
      },
      "value": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "field_accessor_list",
          "named": true
        },
        {
          "type": "weak_modifier",
          "named": true
        }
      ]
    }
  },
  {
    "type": "floor_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "for_statement",
    "named": true,
    "fields": {
      "alternative": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "block",
            "named": true
          }
        ]
      },
      "body": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "block",
            "named": true
          }
        ]
      },
      "iterable": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "function_declaration",
    "named": true,
    "fields": {
      "body": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "block",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "parameters": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "parameter_list",
            "named": true
          }
        ]
      },
      "return_type": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "return_type",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "function_expression",
    "named": true,
    "fields": {
      "body": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "block",
            "named": true
          }
        ]
      },
      "parameters": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "parameter_list",
            "named": true
          }
        ]
      },
      "return_type": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "return_type",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "function_predeclaration",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "if_statement",
    "named": true,
    "fields": {
      "alternative": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "block",
            "named": true
          },
          {
            "type": "if_statement",
            "named": true
          }
        ]
      },
      "condition": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "parenthesized_expression",
            "named": true
          }
        ]
      },
      "consequence": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "block",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "import_list",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "import_specifier",
          "named": true
        }
      ]
    }
  },
  {
    "type": "import_specifier",
    "named": true,
    "fields": {
      "alias": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "type_identifier",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "import_statement",
    "named": true,
    "fields": {
      "condition": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      },
      "imports": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "*",
            "named": false
          },
          {
            "type": "import_list",
            "named": true
          }
        ]
      },
      "module": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "module_path",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "index_expression",
    "named": true,
    "fields": {
      "index": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      },
      "object": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "lambda_expression",
    "named": true,
    "fields": {
      "body": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          },
          {
            "type": "block",
            "named": true
          }
        ]
      },
      "parameters": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "lambda_parameter",
            "named": true
          },
          {
            "type": "parameter_list",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "lambda_parameter",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "type": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "type_expression",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "let_expression",
    "named": true,
    "fields": {
      "kind": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "const",
            "named": false
          },
          {
            "type": "let",
            "named": false
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "pattern": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "destructuring_pattern",
            "named": true
          }
        ]
      },
      "type": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "type_expression",
            "named": true
          }
        ]
      },
      "value": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "list_literal",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "_expression",
          "named": true
        },
        {
          "type": "spread_argument",
          "named": true
        }
      ]
    }
  },
  {
    "type": "loop_control_statement",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "magic_global",
    "named": true,
    "fields": {}
  },
  {
    "type": "member_expression",
    "named": true,
    "fields": {
      "object": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      },
      "property": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "method_declaration",
    "named": true,
    "fields": {
      "body": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "block",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "parameters": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "parameter_list",
            "named": true
          }
        ]
      },
      "return_type": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "return_type",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "method_predeclaration",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "identifier",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "new_expression",
    "named": true,
    "fields": {
      "arguments": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "argument_list",
            "named": true
          }
        ]
      },
      "class": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "constructor_target",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "trait_composition",
          "named": true
        }
      ]
    }
  },
  {
    "type": "null",
    "named": true,
    "fields": {}
  },
  {
    "type": "pair_entry",
    "named": true,
    "fields": {
      "key": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          },
          {
            "type": "bare_key",
            "named": true
          }
        ]
      },
      "value": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "pair_list_literal",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "pair_entry",
          "named": true
        }
      ]
    }
  },
  {
    "type": "parameter",
    "named": true,
    "fields": {
      "default": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "binding_identifier",
            "named": true
          },
          {
            "type": "identifier",
            "named": true
          }
        ]
      },
      "type": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "type_expression",
            "named": true
          }
        ]
      },
      "variadic_name": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "binding_identifier",
            "named": true
          }
        ]
      },
      "variadic_type": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "type_expression",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "parameter_list",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "parameter",
          "named": true
        }
      ]
    }
  },
  {
    "type": "parenthesized_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "postfix_expression",
    "named": true,
    "fields": {
      "argument": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      },
      "operator": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "++",
            "named": false
          },
          {
            "type": "--",
            "named": false
          }
        ]
      }
    }
  },
  {
    "type": "reserved_word_key",
    "named": true,
    "fields": {}
  },
  {
    "type": "return_statement",
    "named": true,
    "fields": {
      "value": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "return_type",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "type_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "self",
    "named": true,
    "fields": {}
  },
  {
    "type": "set_literal",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "_expression",
          "named": true
        },
        {
          "type": "set_close",
          "named": true
        }
      ]
    }
  },
  {
    "type": "slice_expression",
    "named": true,
    "fields": {
      "length": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      },
      "object": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      },
      "start": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "source_file",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "_declaration",
          "named": true
        },
        {
          "type": "_statement",
          "named": true
        },
        {
          "type": "shebang",
          "named": true
        }
      ]
    }
  },
  {
    "type": "spawn_expression",
    "named": true,
    "fields": {
      "body": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          },
          {
            "type": "block",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "spread_argument",
    "named": true,
    "fields": {
      "value": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "string",
    "named": true,
    "fields": {},
    "children": {
      "multiple": false,
      "required": true,
      "types": [
        {
          "type": "double_quoted_string",
          "named": true
        },
        {
          "type": "single_quoted_string",
          "named": true
        },
        {
          "type": "triple_double_quoted_string",
          "named": true
        },
        {
          "type": "triple_single_quoted_string",
          "named": true
        }
      ]
    }
  },
  {
    "type": "super",
    "named": true,
    "fields": {}
  },
  {
    "type": "switch_header",
    "named": true,
    "fields": {
      "mode": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "identifier",
            "named": true
          },
          {
            "type": "operator_name",
            "named": true
          },
          {
            "type": "regexp",
            "named": true
          }
        ]
      },
      "value": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "switch_statement",
    "named": true,
    "fields": {
      "value": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "switch_header",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "case_clause",
          "named": true
        },
        {
          "type": "default_clause",
          "named": true
        }
      ]
    }
  },
  {
    "type": "template_interpolation",
    "named": true,
    "fields": {
      "value": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "template_string",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "template_fragment",
          "named": true
        },
        {
          "type": "template_interpolation",
          "named": true
        }
      ]
    }
  },
  {
    "type": "ternary_expression",
    "named": true,
    "fields": {
      "alternative": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      },
      "condition": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      },
      "consequence": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "throw_statement",
    "named": true,
    "fields": {
      "value": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "trait_body",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "class_declaration",
          "named": true
        },
        {
          "type": "method_declaration",
          "named": true
        },
        {
          "type": "method_predeclaration",
          "named": true
        },
        {
          "type": "trait_declaration",
          "named": true
        }
      ]
    }
  },
  {
    "type": "trait_composition",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "type_expression",
          "named": true
        }
      ]
    }
  },
  {
    "type": "trait_declaration",
    "named": true,
    "fields": {
      "body": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "trait_body",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "binding_identifier",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": false,
      "required": false,
      "types": [
        {
          "type": "trait_composition",
          "named": true
        }
      ]
    }
  },
  {
    "type": "try_expression",
    "named": true,
    "fields": {
      "body": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "block",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "catch_clause",
          "named": true
        }
      ]
    }
  },
  {
    "type": "try_statement",
    "named": true,
    "fields": {
      "body": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "block",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "catch_clause",
          "named": true
        }
      ]
    }
  },
  {
    "type": "type_expression",
    "named": true,
    "fields": {},
    "children": {
      "multiple": true,
      "required": true,
      "types": [
        {
          "type": "private_type_identifier",
          "named": true
        },
        {
          "type": "self",
          "named": true
        },
        {
          "type": "type_expression",
          "named": true
        },
        {
          "type": "type_identifier",
          "named": true
        }
      ]
    }
  },
  {
    "type": "unary_expression",
    "named": true,
    "fields": {
      "argument": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      },
      "operator": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "!",
            "named": false
          },
          {
            "type": "#",
            "named": false
          },
          {
            "type": "+",
            "named": false
          },
          {
            "type": "++",
            "named": false
          },
          {
            "type": "-",
            "named": false
          },
          {
            "type": "--",
            "named": false
          },
          {
            "type": "\\",
            "named": false
          },
          {
            "type": "abs",
            "named": false
          },
          {
            "type": "ceil",
            "named": false
          },
          {
            "type": "floor",
            "named": false
          },
          {
            "type": "int",
            "named": false
          },
          {
            "type": "lc",
            "named": false
          },
          {
            "type": "length",
            "named": false
          },
          {
            "type": "not",
            "named": false
          },
          {
            "type": "round",
            "named": false
          },
          {
            "type": "sqrt",
            "named": false
          },
          {
            "type": "typeof",
            "named": false
          },
          {
            "type": "uc",
            "named": false
          },
          {
            "type": "~",
            "named": false
          },
          {
            "type": "¬",
            "named": false
          },
          {
            "type": "√",
            "named": false
          }
        ]
      }
    }
  },
  {
    "type": "variable_declaration",
    "named": true,
    "fields": {
      "kind": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "const",
            "named": false
          },
          {
            "type": "let",
            "named": false
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "binding_identifier",
            "named": true
          }
        ]
      },
      "pattern": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "destructuring_pattern",
            "named": true
          }
        ]
      },
      "type": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "type_expression",
            "named": true
          }
        ]
      },
      "value": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "_expression",
            "named": true
          }
        ]
      }
    },
    "children": {
      "multiple": true,
      "required": false,
      "types": [
        {
          "type": "weak_modifier",
          "named": true
        }
      ]
    }
  },
  {
    "type": "weak_modifier",
    "named": true,
    "fields": {}
  },
  {
    "type": "while_statement",
    "named": true,
    "fields": {
      "body": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "block",
            "named": true
          }
        ]
      },
      "condition": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "parenthesized_expression",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "!",
    "named": false
  },
  {
    "type": "!=",
    "named": false
  },
  {
    "type": "#",
    "named": false
  },
  {
    "type": "${",
    "named": false
  },
  {
    "type": "&",
    "named": false
  },
  {
    "type": "(",
    "named": false
  },
  {
    "type": ")",
    "named": false
  },
  {
    "type": "*",
    "named": false
  },
  {
    "type": "**",
    "named": false
  },
  {
    "type": "**=",
    "named": false
  },
  {
    "type": "*=",
    "named": false
  },
  {
    "type": "+",
    "named": false
  },
  {
    "type": "++",
    "named": false
  },
  {
    "type": "+=",
    "named": false
  },
  {
    "type": ",",
    "named": false
  },
  {
    "type": "-",
    "named": false
  },
  {
    "type": "--",
    "named": false
  },
  {
    "type": "-=",
    "named": false
  },
  {
    "type": "->",
    "named": false
  },
  {
    "type": ".",
    "named": false
  },
  {
    "type": ".(",
    "named": false
  },
  {
    "type": "...",
    "named": false
  },
  {
    "type": "/",
    "named": false
  },
  {
    "type": "/=",
    "named": false
  },
  {
    "type": ":",
    "named": false
  },
  {
    "type": "::",
    "named": false
  },
  {
    "type": ":=",
    "named": false
  },
  {
    "type": ";",
    "named": false
  },
  {
    "type": "<",
    "named": false
  },
  {
    "type": "<<",
    "named": false
  },
  {
    "type": "<<<",
    "named": false
  },
  {
    "type": "<=",
    "named": false
  },
  {
    "type": "<=>",
    "named": false
  },
  {
    "type": "<|",
    "named": false
  },
  {
    "type": "=",
    "named": false
  },
  {
    "type": "==",
    "named": false
  },
  {
    "type": ">",
    "named": false
  },
  {
    "type": ">=",
    "named": false
  },
  {
    "type": ">>",
    "named": false
  },
  {
    "type": ">>>",
    "named": false
  },
  {
    "type": "?",
    "named": false
  },
  {
    "type": "?:",
    "named": false
  },
  {
    "type": "?:=",
    "named": false
  },
  {
    "type": "@",
    "named": false
  },
  {
    "type": "@?",
    "named": false
  },
  {
    "type": "@@",
    "named": false
  },
  {
    "type": "[",
    "named": false
  },
  {
    "type": "\\",
    "named": false
  },
  {
    "type": "]",
    "named": false
  },
  {
    "type": "^",
    "named": false
  },
  {
    "type": "_",
    "named": false
  },
  {
    "type": "_=",
    "named": false
  },
  {
    "type": "__argc__",
    "named": false
  },
  {
    "type": "__file__",
    "named": false
  },
  {
    "type": "__global__",
    "named": false
  },
  {
    "type": "__system__",
    "named": false
  },
  {
    "type": "`",
    "named": false
  },
  {
    "type": "```",
    "named": false
  },
  {
    "type": "abs",
    "named": false
  },
  {
    "type": "and",
    "named": false
  },
  {
    "type": "and?",
    "named": false
  },
  {
    "type": "as",
    "named": false
  },
  {
    "type": "assert",
    "named": false
  },
  {
    "type": "async",
    "named": false
  },
  {
    "type": "await",
    "named": false
  },
  {
    "type": "but",
    "named": false
  },
  {
    "type": "butnot",
    "named": false
  },
  {
    "type": "butnot?",
    "named": false
  },
  {
    "type": "can",
    "named": false
  },
  {
    "type": "case",
    "named": false
  },
  {
    "type": "catch",
    "named": false
  },
  {
    "type": "ceil",
    "named": false
  },
  {
    "type": "class",
    "named": false
  },
  {
    "type": "clear",
    "named": false
  },
  {
    "type": "cmp",
    "named": false
  },
  {
    "type": "cmpi",
    "named": false
  },
  {
    "type": "comment",
    "named": true
  },
  {
    "type": "const",
    "named": false
  },
  {
    "type": "continue",
    "named": false
  },
  {
    "type": "debug",
    "named": false
  },
  {
    "type": "default",
    "named": false
  },
  {
    "type": "die",
    "named": false
  },
  {
    "type": "divides",
    "named": false
  },
  {
    "type": "do",
    "named": false
  },
  {
    "type": "does",
    "named": false
  },
  {
    "type": "double_quoted_string",
    "named": true
  },
  {
    "type": "else",
    "named": false
  },
  {
    "type": "eq",
    "named": false
  },
  {
    "type": "eqi",
    "named": false
  },
  {
    "type": "equivalentof",
    "named": false
  },
  {
    "type": "extends",
    "named": false
  },
  {
    "type": "false",
    "named": false
  },
  {
    "type": "floor",
    "named": false
  },
  {
    "type": "fn",
    "named": false
  },
  {
    "type": "for",
    "named": false
  },
  {
    "type": "from",
    "named": false
  },
  {
    "type": "function",
    "named": false
  },
  {
    "type": "ge",
    "named": false
  },
  {
    "type": "gei",
    "named": false
  },
  {
    "type": "get",
    "named": false
  },
  {
    "type": "gt",
    "named": false
  },
  {
    "type": "gti",
    "named": false
  },
  {
    "type": "has",
    "named": false
  },
  {
    "type": "identifier",
    "named": true
  },
  {
    "type": "if",
    "named": false
  },
  {
    "type": "import",
    "named": false
  },
  {
    "type": "in",
    "named": false
  },
  {
    "type": "instanceof",
    "named": false
  },
  {
    "type": "int",
    "named": false
  },
  {
    "type": "intersection",
    "named": false
  },
  {
    "type": "last",
    "named": false
  },
  {
    "type": "lc",
    "named": false
  },
  {
    "type": "le",
    "named": false
  },
  {
    "type": "lei",
    "named": false
  },
  {
    "type": "length",
    "named": false
  },
  {
    "type": "let",
    "named": false
  },
  {
    "type": "lt",
    "named": false
  },
  {
    "type": "lti",
    "named": false
  },
  {
    "type": "method",
    "named": false
  },
  {
    "type": "mod",
    "named": false
  },
  {
    "type": "module_path",
    "named": true
  },
  {
    "type": "nand",
    "named": false
  },
  {
    "type": "nand?",
    "named": false
  },
  {
    "type": "ne",
    "named": false
  },
  {
    "type": "nei",
    "named": false
  },
  {
    "type": "new",
    "named": false
  },
  {
    "type": "next",
    "named": false
  },
  {
    "type": "nor",
    "named": false
  },
  {
    "type": "nor?",
    "named": false
  },
  {
    "type": "not",
    "named": false
  },
  {
    "type": "null",
    "named": false
  },
  {
    "type": "number",
    "named": true
  },
  {
    "type": "onlyif",
    "named": false
  },
  {
    "type": "onlyif?",
    "named": false
  },
  {
    "type": "operator_name",
    "named": true
  },
  {
    "type": "or",
    "named": false
  },
  {
    "type": "or?",
    "named": false
  },
  {
    "type": "placeholder",
    "named": true
  },
  {
    "type": "pod_block",
    "named": true
  },
  {
    "type": "print",
    "named": false
  },
  {
    "type": "private_type_identifier",
    "named": true
  },
  {
    "type": "regexp",
    "named": true
  },
  {
    "type": "return",
    "named": false
  },
  {
    "type": "round",
    "named": false
  },
  {
    "type": "say",
    "named": false
  },
  {
    "type": "self",
    "named": false
  },
  {
    "type": "set",
    "named": false
  },
  {
    "type": "set_close",
    "named": true
  },
  {
    "type": "shebang",
    "named": true
  },
  {
    "type": "single_quoted_string",
    "named": true
  },
  {
    "type": "spawn",
    "named": false
  },
  {
    "type": "sqrt",
    "named": false
  },
  {
    "type": "static",
    "named": false
  },
  {
    "type": "subsetof",
    "named": false
  },
  {
    "type": "super",
    "named": false
  },
  {
    "type": "supersetof",
    "named": false
  },
  {
    "type": "switch",
    "named": false
  },
  {
    "type": "template_fragment",
    "named": true
  },
  {
    "type": "throw",
    "named": false
  },
  {
    "type": "trait",
    "named": false
  },
  {
    "type": "triple_double_quoted_string",
    "named": true
  },
  {
    "type": "triple_single_quoted_string",
    "named": true
  },
  {
    "type": "true",
    "named": false
  },
  {
    "type": "try",
    "named": false
  },
  {
    "type": "type_identifier",
    "named": true
  },
  {
    "type": "typeof",
    "named": false
  },
  {
    "type": "uc",
    "named": false
  },
  {
    "type": "union",
    "named": false
  },
  {
    "type": "unless",
    "named": false
  },
  {
    "type": "warn",
    "named": false
  },
  {
    "type": "weak",
    "named": false
  },
  {
    "type": "while",
    "named": false
  },
  {
    "type": "with",
    "named": false
  },
  {
    "type": "xnor",
    "named": false
  },
  {
    "type": "xnor?",
    "named": false
  },
  {
    "type": "xor",
    "named": false
  },
  {
    "type": "xor?",
    "named": false
  },
  {
    "type": "{",
    "named": false
  },
  {
    "type": "{{",
    "named": false
  },
  {
    "type": "|",
    "named": false
  },
  {
    "type": "|>",
    "named": false
  },
  {
    "type": "}",
    "named": false
  },
  {
    "type": "}}",
    "named": false
  },
  {
    "type": "~",
    "named": false
  },
  {
    "type": "~=",
    "named": false
  },
  {
    "type": "«",
    "named": false
  },
  {
    "type": "¬",
    "named": false
  },
  {
    "type": "»",
    "named": false
  },
  {
    "type": "×",
    "named": false
  },
  {
    "type": "×=",
    "named": false
  },
  {
    "type": "÷",
    "named": false
  },
  {
    "type": "÷=",
    "named": false
  },
  {
    "type": "→",
    "named": false
  },
  {
    "type": "↔",
    "named": false
  },
  {
    "type": "↔?",
    "named": false
  },
  {
    "type": "∅",
    "named": false
  },
  {
    "type": "∈",
    "named": false
  },
  {
    "type": "∉",
    "named": false
  },
  {
    "type": "∖",
    "named": false
  },
  {
    "type": "√",
    "named": false
  },
  {
    "type": "∣",
    "named": false
  },
  {
    "type": "∤",
    "named": false
  },
  {
    "type": "≠",
    "named": false
  },
  {
    "type": "≡",
    "named": false
  },
  {
    "type": "≢",
    "named": false
  },
  {
    "type": "≤",
    "named": false
  },
  {
    "type": "≥",
    "named": false
  },
  {
    "type": "≶",
    "named": false
  },
  {
    "type": "≷",
    "named": false
  },
  {
    "type": "⊂",
    "named": false
  },
  {
    "type": "⊂⊃",
    "named": false
  },
  {
    "type": "⊃",
    "named": false
  },
  {
    "type": "⊤",
    "named": false
  },
  {
    "type": "⊥",
    "named": false
  },
  {
    "type": "⊨",
    "named": false
  },
  {
    "type": "⊨?",
    "named": false
  },
  {
    "type": "⊭",
    "named": false
  },
  {
    "type": "⊭?",
    "named": false
  },
  {
    "type": "⊻",
    "named": false
  },
  {
    "type": "⊻?",
    "named": false
  },
  {
    "type": "⊼",
    "named": false
  },
  {
    "type": "⊼?",
    "named": false
  },
  {
    "type": "⊽",
    "named": false
  },
  {
    "type": "⊽?",
    "named": false
  },
  {
    "type": "⋀",
    "named": false
  },
  {
    "type": "⋀?",
    "named": false
  },
  {
    "type": "⋁",
    "named": false
  },
  {
    "type": "⋁?",
    "named": false
  },
  {
    "type": "⋂",
    "named": false
  },
  {
    "type": "⋃",
    "named": false
  },
  {
    "type": "⌈",
    "named": false
  },
  {
    "type": "⌉",
    "named": false
  },
  {
    "type": "⌊",
    "named": false
  },
  {
    "type": "⌋",
    "named": false
  },
  {
    "type": "▷",
    "named": false
  },
  {
    "type": "◁",
    "named": false
  }
]