Skip to main content

NODE_TYPES

Constant NODE_TYPES 

Source
pub const NODE_TYPES: &str = "[\n  {\n    \"type\": \"literal\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"bigint_literal\",\n        \"named\": true\n      },\n      {\n        \"type\": \"bool_literal\",\n        \"named\": true\n      },\n      {\n        \"type\": \"float_literal\",\n        \"named\": true\n      },\n      {\n        \"type\": \"imaginary_literal\",\n        \"named\": true\n      },\n      {\n        \"type\": \"integer_literal\",\n        \"named\": true\n      },\n      {\n        \"type\": \"pauli_literal\",\n        \"named\": true\n      },\n      {\n        \"type\": \"result_literal\",\n        \"named\": true\n      },\n      {\n        \"type\": \"string_literal\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"type\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"apos_ident\",\n        \"named\": true\n      },\n      {\n        \"type\": \"array_type\",\n        \"named\": true\n      },\n      {\n        \"type\": \"builtin_type\",\n        \"named\": true\n      },\n      {\n        \"type\": \"callable_type\",\n        \"named\": true\n      },\n      {\n        \"type\": \"discard\",\n        \"named\": true\n      },\n      {\n        \"type\": \"identifier\",\n        \"named\": true\n      },\n      {\n        \"type\": \"path\",\n        \"named\": true\n      },\n      {\n        \"type\": \"tuple_type\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"array_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"compound_assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conjugation_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"discard\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"full_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lambda_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"new_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"path\",\n          \"named\": true\n        },\n        {\n          \"type\": \"range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"step_range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_interpolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ternary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unwrap_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"array_repeat_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"compound_assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conjugation_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"discard\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"full_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lambda_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"new_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"path\",\n          \"named\": true\n        },\n        {\n          \"type\": \"range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"step_range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_interpolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ternary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unwrap_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"array_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"assignment_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"compound_assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conjugation_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"discard\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"full_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lambda_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"new_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"path\",\n          \"named\": true\n        },\n        {\n          \"type\": \"range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"step_range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_interpolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ternary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unwrap_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"attribute\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"compound_assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conjugation_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"discard\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"full_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lambda_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"new_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"path\",\n          \"named\": true\n        },\n        {\n          \"type\": \"path_or_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"step_range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_interpolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ternary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unwrap_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"binary_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"compound_assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conjugation_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"discard\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"full_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lambda_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"new_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"path\",\n          \"named\": true\n        },\n        {\n          \"type\": \"range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"step_range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_interpolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ternary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unwrap_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"block\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"borrow_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"empty_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fail_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"import_decl\",\n          \"named\": true\n        },\n        {\n          \"type\": \"let_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"mutable_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct_decl\",\n          \"named\": true\n        },\n        {\n          \"type\": \"use_statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"bool_literal\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"borrow_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qubit_init\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"builtin_type\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"call_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"compound_assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conjugation_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"discard\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"full_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lambda_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"new_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"path\",\n          \"named\": true\n        },\n        {\n          \"type\": \"range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"step_range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_interpolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ternary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unwrap_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"callable_body\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"specialization_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"callable_decl\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"callable_body\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"params\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"param_list\",\n            \"named\": true\n          }\n        ]\n      },\n      \"return_type\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"type\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"attribute\",\n          \"named\": true\n        },\n        {\n          \"type\": \"functor_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_params\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"callable_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"functor_expr\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"compound_assignment_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"compound_assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conjugation_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"discard\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"full_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lambda_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"new_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"path\",\n          \"named\": true\n        },\n        {\n          \"type\": \"range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"step_range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_interpolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ternary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unwrap_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"conjugation_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"block\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"elif_clause\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"block\",\n            \"named\": true\n          }\n        ]\n      },\n      \"condition\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array_repeat_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"block\",\n            \"named\": true\n          },\n          {\n            \"type\": \"call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"compound_assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conjugation_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"discard\",\n            \"named\": true\n          },\n          {\n            \"type\": \"field_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"for_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"full_range\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"if_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"index_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lambda_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"new_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"open_range_end\",\n            \"named\": true\n          },\n          {\n            \"type\": \"open_range_start\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"path\",\n            \"named\": true\n          },\n          {\n            \"type\": \"range_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"repeat_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"step_range_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_interpolation\",\n            \"named\": true\n          },\n          {\n            \"type\": \"ternary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"tuple_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unit_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unwrap_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"update_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"while_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"else_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"block\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"empty_statement\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"export_decl\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attribute\",\n          \"named\": true\n        },\n        {\n          \"type\": \"export_item\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"export_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"path_or_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"expression_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"compound_assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conjugation_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"discard\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"full_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lambda_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"new_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"path\",\n          \"named\": true\n        },\n        {\n          \"type\": \"range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"step_range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_interpolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ternary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unwrap_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"fail_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"compound_assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conjugation_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"discard\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"full_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lambda_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"new_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"path\",\n          \"named\": true\n        },\n        {\n          \"type\": \"range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"step_range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_interpolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ternary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unwrap_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"field_assign\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"value\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array_repeat_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"block\",\n            \"named\": true\n          },\n          {\n            \"type\": \"call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"compound_assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conjugation_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"discard\",\n            \"named\": true\n          },\n          {\n            \"type\": \"field_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"for_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"full_range\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"if_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"index_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lambda_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"new_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"open_range_end\",\n            \"named\": true\n          },\n          {\n            \"type\": \"open_range_start\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"path\",\n            \"named\": true\n          },\n          {\n            \"type\": \"range_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"repeat_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"step_range_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_interpolation\",\n            \"named\": true\n          },\n          {\n            \"type\": \"ternary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"tuple_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unit_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unwrap_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"update_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"while_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"field_def\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"type\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"field_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"field\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"compound_assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conjugation_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"discard\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"full_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lambda_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"new_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"path\",\n          \"named\": true\n        },\n        {\n          \"type\": \"range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"step_range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_interpolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ternary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unwrap_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"for_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"compound_assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conjugation_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"discard\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"full_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lambda_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"new_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"path\",\n          \"named\": true\n        },\n        {\n          \"type\": \"pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"step_range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_interpolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ternary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unwrap_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"full_range\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"functor_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"functor_expr\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"functor_expr\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"functor_expr\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"if_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"block\",\n            \"named\": true\n          }\n        ]\n      },\n      \"condition\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array_repeat_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"block\",\n            \"named\": true\n          },\n          {\n            \"type\": \"call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"compound_assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conjugation_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"discard\",\n            \"named\": true\n          },\n          {\n            \"type\": \"field_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"for_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"full_range\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"if_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"index_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lambda_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"new_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"open_range_end\",\n            \"named\": true\n          },\n          {\n            \"type\": \"open_range_start\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"path\",\n            \"named\": true\n          },\n          {\n            \"type\": \"range_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"repeat_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"step_range_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_interpolation\",\n            \"named\": true\n          },\n          {\n            \"type\": \"ternary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"tuple_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unit_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unwrap_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"update_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"while_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"elif_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"else_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"import_decl\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"import_item\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"import_item\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"import_path\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"import_path\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"index_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"compound_assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conjugation_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"discard\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"full_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lambda_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"new_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"path\",\n          \"named\": true\n        },\n        {\n          \"type\": \"range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"step_range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_interpolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ternary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unwrap_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"interpolation_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"compound_assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conjugation_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"discard\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"full_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lambda_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"new_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"path\",\n          \"named\": true\n        },\n        {\n          \"type\": \"range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"step_range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_interpolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ternary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unwrap_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"lambda_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"compound_assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conjugation_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"discard\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"full_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lambda_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"new_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"path\",\n          \"named\": true\n        },\n        {\n          \"type\": \"range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"step_range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_interpolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ternary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unwrap_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"let_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"compound_assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conjugation_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"full_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lambda_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"new_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"step_range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_interpolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ternary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unwrap_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"mutable_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"compound_assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conjugation_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"full_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lambda_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"new_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"step_range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_interpolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ternary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unwrap_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"namespace\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"path_or_identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"callable_decl\",\n          \"named\": true\n        },\n        {\n          \"type\": \"export_decl\",\n          \"named\": true\n        },\n        {\n          \"type\": \"import_decl\",\n          \"named\": true\n        },\n        {\n          \"type\": \"newtype_decl\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_decl\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct_decl\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"new_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"compound_assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conjugation_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"full_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lambda_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"new_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"path_or_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"step_range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_interpolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct_fields\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ternary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unwrap_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"newtype_decl\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"type_def\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"open_decl\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"path_or_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"open_range_end\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"compound_assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conjugation_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"discard\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"full_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lambda_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"new_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"path\",\n          \"named\": true\n        },\n        {\n          \"type\": \"range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"step_range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_interpolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ternary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unwrap_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"open_range_start\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"compound_assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conjugation_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"discard\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"full_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lambda_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"new_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"path\",\n          \"named\": true\n        },\n        {\n          \"type\": \"range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"step_range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_interpolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ternary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unwrap_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"param_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"tuple_param\",\n          \"named\": true\n        },\n        {\n          \"type\": \"typed_param\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"parenthesized_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"compound_assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conjugation_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"discard\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"full_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lambda_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"new_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"path\",\n          \"named\": true\n        },\n        {\n          \"type\": \"range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"step_range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_interpolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ternary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unwrap_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"path\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"path_or_identifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"path\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"pattern\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"discard\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"pattern\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"pauli_literal\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"qubit_init\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"compound_assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conjugation_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"discard\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"full_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lambda_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"new_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"path\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qubit_init\",\n          \"named\": true\n        },\n        {\n          \"type\": \"range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"step_range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_interpolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ternary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unwrap_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"range_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"compound_assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conjugation_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"discard\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"full_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lambda_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"new_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"path\",\n          \"named\": true\n        },\n        {\n          \"type\": \"range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"step_range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_interpolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ternary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unwrap_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"repeat_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"compound_assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conjugation_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"discard\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"full_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lambda_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"new_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"path\",\n          \"named\": true\n        },\n        {\n          \"type\": \"range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"step_range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_interpolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ternary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unwrap_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"result_literal\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"return_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"compound_assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conjugation_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"discard\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"full_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lambda_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"new_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"path\",\n          \"named\": true\n        },\n        {\n          \"type\": \"range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"step_range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_interpolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ternary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unwrap_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"set_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"compound_assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conjugation_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"discard\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"full_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lambda_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"new_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"path\",\n          \"named\": true\n        },\n        {\n          \"type\": \"range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"step_range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_interpolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ternary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unwrap_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"source_file\",\n    \"named\": true,\n    \"root\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"borrow_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"callable_decl\",\n          \"named\": true\n        },\n        {\n          \"type\": \"empty_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"export_decl\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fail_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"import_decl\",\n          \"named\": true\n        },\n        {\n          \"type\": \"let_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"mutable_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"namespace\",\n          \"named\": true\n        },\n        {\n          \"type\": \"newtype_decl\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_decl\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"set_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct_decl\",\n          \"named\": true\n        },\n        {\n          \"type\": \"use_statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"spec_generator\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"spec_name\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"spec_param\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"specialization\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"spec_generator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"spec_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"spec_param\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"specialization_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"specialization\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"step_range_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"compound_assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conjugation_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"discard\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"full_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lambda_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"new_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"path\",\n          \"named\": true\n        },\n        {\n          \"type\": \"range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"step_range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_interpolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ternary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unwrap_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"string_interpolation\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"interpolation_content\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interpolation_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"struct_decl\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"field_def\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"struct_fields\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"compound_assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conjugation_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"discard\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_assign\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"full_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lambda_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"new_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"path\",\n          \"named\": true\n        },\n        {\n          \"type\": \"range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"step_range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_interpolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ternary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unwrap_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ternary_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"compound_assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conjugation_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"discard\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"full_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lambda_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"new_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"path\",\n          \"named\": true\n        },\n        {\n          \"type\": \"range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"step_range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_interpolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ternary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unwrap_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"tuple_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"compound_assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conjugation_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"discard\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"full_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lambda_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"new_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"path\",\n          \"named\": true\n        },\n        {\n          \"type\": \"range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"step_range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_interpolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ternary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unwrap_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"tuple_param\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"tuple_param\",\n          \"named\": true\n        },\n        {\n          \"type\": \"typed_param\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"tuple_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_def\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_def\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_param\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"apos_ident\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_params\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"type_param\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"typed_param\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"type\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"unary_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"compound_assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conjugation_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"discard\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"full_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lambda_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"new_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"path\",\n          \"named\": true\n        },\n        {\n          \"type\": \"range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"step_range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_interpolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ternary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unwrap_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"unit_expression\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"unwrap_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"compound_assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conjugation_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"discard\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"full_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lambda_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"new_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"path\",\n          \"named\": true\n        },\n        {\n          \"type\": \"range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"step_range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_interpolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ternary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unwrap_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"update_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"compound_assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conjugation_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"discard\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"full_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lambda_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"new_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"path\",\n          \"named\": true\n        },\n        {\n          \"type\": \"range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"step_range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_interpolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ternary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unwrap_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"use_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qubit_init\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"while_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"compound_assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conjugation_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"discard\",\n          \"named\": true\n        },\n        {\n          \"type\": \"field_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"full_range\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"index_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lambda_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"new_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"open_range_start\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"path\",\n          \"named\": true\n        },\n        {\n          \"type\": \"range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"step_range_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_interpolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ternary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unwrap_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"update_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"while_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"!\",\n    \"named\": false\n  },\n  {\n    \"type\": \"!=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"\\\"\",\n    \"named\": false\n  },\n  {\n    \"type\": \"$\\\"\",\n    \"named\": false\n  },\n  {\n    \"type\": \"%\",\n    \"named\": false\n  },\n  {\n    \"type\": \"%=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"&&&\",\n    \"named\": false\n  },\n  {\n    \"type\": \"&&&=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"(\",\n    \"named\": false\n  },\n  {\n    \"type\": \")\",\n    \"named\": false\n  },\n  {\n    \"type\": \"*\",\n    \"named\": false\n  },\n  {\n    \"type\": \"*=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"+\",\n    \"named\": false\n  },\n  {\n    \"type\": \"+=\",\n    \"named\": false\n  },\n  {\n    \"type\": \",\",\n    \"named\": false\n  },\n  {\n    \"type\": \"-\",\n    \"named\": false\n  },\n  {\n    \"type\": \"-=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"->\",\n    \"named\": false\n  },\n  {\n    \"type\": \".\",\n    \"named\": false\n  },\n  {\n    \"type\": \"..\",\n    \"named\": false\n  },\n  {\n    \"type\": \"...\",\n    \"named\": false\n  },\n  {\n    \"type\": \"/\",\n    \"named\": false\n  },\n  {\n    \"type\": \"/=\",\n    \"named\": false\n  },\n  {\n    \"type\": \":\",\n    \"named\": false\n  },\n  {\n    \"type\": \"::\",\n    \"named\": false\n  },\n  {\n    \"type\": \";\",\n    \"named\": false\n  },\n  {\n    \"type\": \"<\",\n    \"named\": false\n  },\n  {\n    \"type\": \"<-\",\n    \"named\": false\n  },\n  {\n    \"type\": \"<<<\",\n    \"named\": false\n  },\n  {\n    \"type\": \"<<<=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"<=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"==\",\n    \"named\": false\n  },\n  {\n    \"type\": \"=>\",\n    \"named\": false\n  },\n  {\n    \"type\": \">\",\n    \"named\": false\n  },\n  {\n    \"type\": \">=\",\n    \"named\": false\n  },\n  {\n    \"type\": \">>>\",\n    \"named\": false\n  },\n  {\n    \"type\": \">>>=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"?\",\n    \"named\": false\n  },\n  {\n    \"type\": \"@\",\n    \"named\": false\n  },\n  {\n    \"type\": \"Adj\",\n    \"named\": false\n  },\n  {\n    \"type\": \"Adjoint\",\n    \"named\": false\n  },\n  {\n    \"type\": \"BigInt\",\n    \"named\": false\n  },\n  {\n    \"type\": \"Bool\",\n    \"named\": false\n  },\n  {\n    \"type\": \"Controlled\",\n    \"named\": false\n  },\n  {\n    \"type\": \"Ctl\",\n    \"named\": false\n  },\n  {\n    \"type\": \"Double\",\n    \"named\": false\n  },\n  {\n    \"type\": \"Int\",\n    \"named\": false\n  },\n  {\n    \"type\": \"One\",\n    \"named\": false\n  },\n  {\n    \"type\": \"Pauli\",\n    \"named\": false\n  },\n  {\n    \"type\": \"PauliI\",\n    \"named\": false\n  },\n  {\n    \"type\": \"PauliX\",\n    \"named\": false\n  },\n  {\n    \"type\": \"PauliY\",\n    \"named\": false\n  },\n  {\n    \"type\": \"PauliZ\",\n    \"named\": false\n  },\n  {\n    \"type\": \"Qubit\",\n    \"named\": false\n  },\n  {\n    \"type\": \"Range\",\n    \"named\": false\n  },\n  {\n    \"type\": \"Result\",\n    \"named\": false\n  },\n  {\n    \"type\": \"String\",\n    \"named\": false\n  },\n  {\n    \"type\": \"Unit\",\n    \"named\": false\n  },\n  {\n    \"type\": \"Zero\",\n    \"named\": false\n  },\n  {\n    \"type\": \"[\",\n    \"named\": false\n  },\n  {\n    \"type\": \"]\",\n    \"named\": false\n  },\n  {\n    \"type\": \"^\",\n    \"named\": false\n  },\n  {\n    \"type\": \"^=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"^^^\",\n    \"named\": false\n  },\n  {\n    \"type\": \"^^^=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"adjoint\",\n    \"named\": false\n  },\n  {\n    \"type\": \"and\",\n    \"named\": false\n  },\n  {\n    \"type\": \"and=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"apos_ident\",\n    \"named\": true\n  },\n  {\n    \"type\": \"apply\",\n    \"named\": false\n  },\n  {\n    \"type\": \"as\",\n    \"named\": false\n  },\n  {\n    \"type\": \"auto\",\n    \"named\": false\n  },\n  {\n    \"type\": \"bigint_literal\",\n    \"named\": true\n  },\n  {\n    \"type\": \"body\",\n    \"named\": false\n  },\n  {\n    \"type\": \"borrow\",\n    \"named\": false\n  },\n  {\n    \"type\": \"comment\",\n    \"named\": true,\n    \"extra\": true\n  },\n  {\n    \"type\": \"controlled\",\n    \"named\": false\n  },\n  {\n    \"type\": \"discard\",\n    \"named\": true\n  },\n  {\n    \"type\": \"distribute\",\n    \"named\": false\n  },\n  {\n    \"type\": \"doc_comment\",\n    \"named\": true,\n    \"extra\": true\n  },\n  {\n    \"type\": \"elif\",\n    \"named\": false\n  },\n  {\n    \"type\": \"else\",\n    \"named\": false\n  },\n  {\n    \"type\": \"export\",\n    \"named\": false\n  },\n  {\n    \"type\": \"fail\",\n    \"named\": false\n  },\n  {\n    \"type\": \"false\",\n    \"named\": false\n  },\n  {\n    \"type\": \"fixup\",\n    \"named\": false\n  },\n  {\n    \"type\": \"float_literal\",\n    \"named\": true\n  },\n  {\n    \"type\": \"for\",\n    \"named\": false\n  },\n  {\n    \"type\": \"function\",\n    \"named\": false\n  },\n  {\n    \"type\": \"identifier\",\n    \"named\": true\n  },\n  {\n    \"type\": \"if\",\n    \"named\": false\n  },\n  {\n    \"type\": \"imaginary_literal\",\n    \"named\": true\n  },\n  {\n    \"type\": \"import\",\n    \"named\": false\n  },\n  {\n    \"type\": \"in\",\n    \"named\": false\n  },\n  {\n    \"type\": \"integer_literal\",\n    \"named\": true\n  },\n  {\n    \"type\": \"internal\",\n    \"named\": false\n  },\n  {\n    \"type\": \"interpolation_content\",\n    \"named\": true\n  },\n  {\n    \"type\": \"intrinsic\",\n    \"named\": false\n  },\n  {\n    \"type\": \"invert\",\n    \"named\": false\n  },\n  {\n    \"type\": \"is\",\n    \"named\": false\n  },\n  {\n    \"type\": \"let\",\n    \"named\": false\n  },\n  {\n    \"type\": \"mutable\",\n    \"named\": false\n  },\n  {\n    \"type\": \"namespace\",\n    \"named\": false\n  },\n  {\n    \"type\": \"new\",\n    \"named\": false\n  },\n  {\n    \"type\": \"newtype\",\n    \"named\": false\n  },\n  {\n    \"type\": \"not\",\n    \"named\": false\n  },\n  {\n    \"type\": \"open\",\n    \"named\": false\n  },\n  {\n    \"type\": \"operation\",\n    \"named\": false\n  },\n  {\n    \"type\": \"or\",\n    \"named\": false\n  },\n  {\n    \"type\": \"or=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"repeat\",\n    \"named\": false\n  },\n  {\n    \"type\": \"return\",\n    \"named\": false\n  },\n  {\n    \"type\": \"self\",\n    \"named\": false\n  },\n  {\n    \"type\": \"set\",\n    \"named\": false\n  },\n  {\n    \"type\": \"size\",\n    \"named\": false\n  },\n  {\n    \"type\": \"string_literal\",\n    \"named\": true\n  },\n  {\n    \"type\": \"struct\",\n    \"named\": false\n  },\n  {\n    \"type\": \"true\",\n    \"named\": false\n  },\n  {\n    \"type\": \"until\",\n    \"named\": false\n  },\n  {\n    \"type\": \"use\",\n    \"named\": false\n  },\n  {\n    \"type\": \"w/\",\n    \"named\": false\n  },\n  {\n    \"type\": \"w/=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"while\",\n    \"named\": false\n  },\n  {\n    \"type\": \"within\",\n    \"named\": false\n  },\n  {\n    \"type\": \"{\",\n    \"named\": false\n  },\n  {\n    \"type\": \"|\",\n    \"named\": false\n  },\n  {\n    \"type\": \"|||\",\n    \"named\": false\n  },\n  {\n    \"type\": \"|||=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"}\",\n    \"named\": false\n  },\n  {\n    \"type\": \"~~~\",\n    \"named\": false\n  }\n]";
Expand description

The content of the node-types.json file for this grammar.