pub const FSHARP_NODE_TYPES: &str = "[\n  {\n    \"type\": \"_expression\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"anon_record_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"application_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"array_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"begin_end_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"brace_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"ce_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"const\",\n        \"named\": true\n      },\n      {\n        \"type\": \"declaration_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"do_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"dot_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"for_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"fun_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"function_expression\",\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\": \"infix_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"list_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"literal_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"long_identifier_or_op\",\n        \"named\": true\n      },\n      {\n        \"type\": \"match_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"mutate_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"null\",\n        \"named\": false\n      },\n      {\n        \"type\": \"paren_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"prefixed_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"preproc_if\",\n        \"named\": true\n      },\n      {\n        \"type\": \"sequential_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"try_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"tuple_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"typecast_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"typed_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"while_expression\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"_module_elem\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"exception_definition\",\n        \"named\": true\n      },\n      {\n        \"type\": \"fsi_directive_decl\",\n        \"named\": true\n      },\n      {\n        \"type\": \"import_decl\",\n        \"named\": true\n      },\n      {\n        \"type\": \"module_abbrev\",\n        \"named\": true\n      },\n      {\n        \"type\": \"module_defn\",\n        \"named\": true\n      },\n      {\n        \"type\": \"preproc_if\",\n        \"named\": true\n      },\n      {\n        \"type\": \"type_definition\",\n        \"named\": true\n      },\n      {\n        \"type\": \"value_declaration\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"_pattern\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"array_pattern\",\n        \"named\": true\n      },\n      {\n        \"type\": \"as_pattern\",\n        \"named\": true\n      },\n      {\n        \"type\": \"attribute_pattern\",\n        \"named\": true\n      },\n      {\n        \"type\": \"conjunct_pattern\",\n        \"named\": true\n      },\n      {\n        \"type\": \"cons_pattern\",\n        \"named\": true\n      },\n      {\n        \"type\": \"const\",\n        \"named\": true\n      },\n      {\n        \"type\": \"disjunct_pattern\",\n        \"named\": true\n      },\n      {\n        \"type\": \"identifier_pattern\",\n        \"named\": true\n      },\n      {\n        \"type\": \"list_pattern\",\n        \"named\": true\n      },\n      {\n        \"type\": \"named_field_pattern\",\n        \"named\": true\n      },\n      {\n        \"type\": \"null\",\n        \"named\": false\n      },\n      {\n        \"type\": \"optional_pattern\",\n        \"named\": true\n      },\n      {\n        \"type\": \"paren_pattern\",\n        \"named\": true\n      },\n      {\n        \"type\": \"record_pattern\",\n        \"named\": true\n      },\n      {\n        \"type\": \"repeat_pattern\",\n        \"named\": true\n      },\n      {\n        \"type\": \"type_check_pattern\",\n        \"named\": true\n      },\n      {\n        \"type\": \"typed_pattern\",\n        \"named\": true\n      },\n      {\n        \"type\": \"wildcard_pattern\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"_static_parameter\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"named_static_parameter\",\n        \"named\": true\n      },\n      {\n        \"type\": \"static_parameter_value\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"_type\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"anon_record_type\",\n        \"named\": true\n      },\n      {\n        \"type\": \"compound_type\",\n        \"named\": true\n      },\n      {\n        \"type\": \"constrained_type\",\n        \"named\": true\n      },\n      {\n        \"type\": \"flexible_type\",\n        \"named\": true\n      },\n      {\n        \"type\": \"function_type\",\n        \"named\": true\n      },\n      {\n        \"type\": \"generic_type\",\n        \"named\": true\n      },\n      {\n        \"type\": \"list_type\",\n        \"named\": true\n      },\n      {\n        \"type\": \"paren_type\",\n        \"named\": true\n      },\n      {\n        \"type\": \"postfix_type\",\n        \"named\": true\n      },\n      {\n        \"type\": \"simple_type\",\n        \"named\": true\n      },\n      {\n        \"type\": \"static_type\",\n        \"named\": true\n      },\n      {\n        \"type\": \"type_argument\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"_type_defn_body\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"anon_type_defn\",\n        \"named\": true\n      },\n      {\n        \"type\": \"delegate_type_defn\",\n        \"named\": true\n      },\n      {\n        \"type\": \"enum_type_defn\",\n        \"named\": true\n      },\n      {\n        \"type\": \"interface_type_defn\",\n        \"named\": true\n      },\n      {\n        \"type\": \"record_type_defn\",\n        \"named\": true\n      },\n      {\n        \"type\": \"type_abbrev_defn\",\n        \"named\": true\n      },\n      {\n        \"type\": \"type_extension\",\n        \"named\": true\n      },\n      {\n        \"type\": \"union_type_defn\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"access_modifier\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"active_pattern\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"active_pattern_op_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"wildcard_active_pattern_op\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"additional_constr_defn\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"access_modifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"anon_record_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"block\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"field_initializers\",\n            \"named\": true\n          },\n          {\n            \"type\": \"with_field_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"anon_record_type\",\n    \"named\": true,\n    \"fields\": {\n      \"block\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"record_fields\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"anon_type_defn\",\n    \"named\": true,\n    \"fields\": {\n      \"block\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"class_inherits_decl\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interface_implementation\",\n            \"named\": true\n          },\n          {\n            \"type\": \"member_defn\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_extension_elements\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"primary_constr_args\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"application_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"argument_name_spec\",\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  },\n  {\n    \"type\": \"argument_patterns\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"long_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"argument_spec\",\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\": \"argument_name_spec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"attributes\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"arguments_spec\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"argument_spec\",\n          \"named\": true\n        }\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\": \"_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"short_comp_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slice_ranges\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"array_pattern\",\n    \"named\": true,\n    \"fields\": {\n      \"block\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"_pattern\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"as_pattern\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"atomic_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          \"type\": \"long_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_attributes\",\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\": \"_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"_type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"attribute_pattern\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"attributes\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"attributes\",\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    }\n  },\n  {\n    \"type\": \"begin_end_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"block\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"bignum\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"int\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"block_comment\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"block_comment_content\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"brace_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"block\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"field_initializers\",\n            \"named\": true\n          },\n          {\n            \"type\": \"object_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"with_field_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"byte\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"int\",\n          \"named\": true\n        },\n        {\n          \"type\": \"xint\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"bytearray\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"ce_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"block\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"short_comp_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"char\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"class_as_reference\",\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    }\n  },\n  {\n    \"type\": \"class_inherits_decl\",\n    \"named\": true,\n    \"fields\": {\n      \"block\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"_type\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"compiler_directive_decl\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"string\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"compound_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\": \"conjunct_pattern\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_pattern\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"cons_pattern\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_pattern\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"const\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"bignum\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bool\",\n          \"named\": true\n        },\n        {\n          \"type\": \"byte\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bytearray\",\n          \"named\": true\n        },\n        {\n          \"type\": \"char\",\n          \"named\": true\n        },\n        {\n          \"type\": \"decimal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ieee32\",\n          \"named\": true\n        },\n        {\n          \"type\": \"ieee64\",\n          \"named\": true\n        },\n        {\n          \"type\": \"int\",\n          \"named\": true\n        },\n        {\n          \"type\": \"int16\",\n          \"named\": true\n        },\n        {\n          \"type\": \"int32\",\n          \"named\": true\n        },\n        {\n          \"type\": \"int64\",\n          \"named\": true\n        },\n        {\n          \"type\": \"nativeint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sbyte\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"triple_quoted_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"uint16\",\n          \"named\": true\n        },\n        {\n          \"type\": \"uint32\",\n          \"named\": true\n        },\n        {\n          \"type\": \"uint64\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unativeint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"verbatim_bytearray\",\n          \"named\": true\n        },\n        {\n          \"type\": \"verbatim_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"xint\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"constrained_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\": \"constraint\",\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\": \"trait_member_constraint\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"curried_spec\",\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\": \"arguments_spec\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"decimal\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"int\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"declaration_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"in\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_or_value_defn\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"delegate_signature\",\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\": \"delegate_type_defn\",\n    \"named\": true,\n    \"fields\": {\n      \"block\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"delegate_signature\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"type_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"disjunct_pattern\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_pattern\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"do\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"do_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"dot_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"base\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"_expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"field\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"long_identifier_or_op\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"elif_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"guard\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"_expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"then\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"enum_type_case\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"const\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"enum_type_cases\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"enum_type_case\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"enum_type_defn\",\n    \"named\": true,\n    \"fields\": {\n      \"block\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"enum_type_cases\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"type_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"exception_definition\",\n    \"named\": true,\n    \"fields\": {\n      \"exception_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"long_identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"attributes\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"field_initializer\",\n    \"named\": true,\n    \"fields\": {\n      \"field\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"long_identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"value\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"field_initializers\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"field_initializer\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"field_pattern\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"long_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"file\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"_module_elem\",\n          \"named\": true\n        },\n        {\n          \"type\": \"named_module\",\n          \"named\": true\n        },\n        {\n          \"type\": \"namespace\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"flexible_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\": \"float\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"for_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"range_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"format_string\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"format_string_eval\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"format_string_eval\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"format_triple_quoted_string\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"fsi_directive_decl\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"string\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"fun_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_patterns\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"function_declaration_left\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"access_modifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"active_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_patterns\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"op_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_arguments\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"function_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"block\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"rules\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"function_or_value_defn\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_declaration_left\",\n          \"named\": true\n        },\n        {\n          \"type\": \"value_declaration_left\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"function_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\": \"generic_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"long_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_attributes\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"identifier_pattern\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"long_identifier_or_op\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ieee32\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"xint\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"ieee64\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"xint\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"if_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"else\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"_expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"guard\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"_expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"then\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"elif_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"import_decl\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"long_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"index_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"index\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slice_ranges\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"infix_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"infix_op\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"infix_op\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"int16\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"int\",\n          \"named\": true\n        },\n        {\n          \"type\": \"xint\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"int32\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"int\",\n          \"named\": true\n        },\n        {\n          \"type\": \"xint\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"int64\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"int\",\n          \"named\": true\n        },\n        {\n          \"type\": \"xint\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"interface_implementation\",\n    \"named\": true,\n    \"fields\": {\n      \"block\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"member_defn\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"interface_type_defn\",\n    \"named\": true,\n    \"fields\": {\n      \"block\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"interface_implementation\",\n            \"named\": true\n          },\n          {\n            \"type\": \"member_defn\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"type_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"list_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"short_comp_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slice_ranges\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"list_pattern\",\n    \"named\": true,\n    \"fields\": {\n      \"block\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"_pattern\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"list_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\": \"literal_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"long_identifier\",\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\": \"long_identifier_or_op\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"active_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"long_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"op_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"match_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"block\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"rules\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rules\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"member_defn\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"access_modifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"additional_constr_defn\",\n          \"named\": true\n        },\n        {\n          \"type\": \"attributes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"member_signature\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_or_prop_defn\",\n          \"named\": true\n        },\n        {\n          \"type\": \"property_or_ident\",\n          \"named\": true\n        },\n        {\n          \"type\": \"value_declaration\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"member_signature\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"curried_spec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_arguments\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"method_or_prop_defn\",\n    \"named\": true,\n    \"fields\": {\n      \"args\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"_pattern\",\n            \"named\": true\n          }\n        ]\n      },\n      \"block\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \":\",\n            \"named\": false\n          },\n          {\n            \"type\": \"=\",\n            \"named\": false\n          },\n          {\n            \"type\": \"_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"_type\",\n            \"named\": true\n          },\n          {\n            \"type\": \"and\",\n            \"named\": false\n          },\n          {\n            \"type\": \"function_declaration_left\",\n            \"named\": true\n          },\n          {\n            \"type\": \"property_accessor\",\n            \"named\": true\n          },\n          {\n            \"type\": \"value_declaration_left\",\n            \"named\": true\n          }\n        ]\n      },\n      \"body\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"_expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"property_or_ident\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_arguments\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"module_abbrev\",\n    \"named\": true,\n    \"fields\": {\n      \"block\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"long_identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attributes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"module_defn\",\n    \"named\": true,\n    \"fields\": {\n      \"block\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \";\",\n            \"named\": false\n          },\n          {\n            \"type\": \"_module_elem\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"access_modifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"attributes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"mutate_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"assignee\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"_expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"value\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"named_field\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"named_field_pattern\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"named_field\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"named_module\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"long_identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"_module_elem\",\n          \"named\": true\n        },\n        {\n          \"type\": \"access_modifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"attributes\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"named_static_parameter\",\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\": \"static_parameter_value\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"namespace\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"long_identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"rec\",\n            \"named\": false\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"_module_elem\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"nativeint\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"int\",\n          \"named\": true\n        },\n        {\n          \"type\": \"xint\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"object_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"block\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"member_defn\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interface_implementation\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"optional_pattern\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_pattern\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"paren_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"paren_pattern\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_pattern\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"paren_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\": \"postfix_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          \"type\": \"long_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"prefix_op\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"prefixed_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"prefix_op\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"preproc_else\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"_module_elem\",\n          \"named\": true\n        },\n        {\n          \"type\": \"class_inherits_decl\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_extension_elements\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"preproc_if\",\n    \"named\": true,\n    \"fields\": {\n      \"alternative\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"preproc_else\",\n            \"named\": true\n          }\n        ]\n      },\n      \"condition\": {\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\": \"_module_elem\",\n          \"named\": true\n        },\n        {\n          \"type\": \"class_inherits_decl\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_extension_elements\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"preproc_line\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"int\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"verbatim_string\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"primary_constr_args\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"access_modifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"attributes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"class_as_reference\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"property_accessor\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_patterns\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"property_or_ident\",\n    \"named\": true,\n    \"fields\": {\n      \"instance\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"method\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"active_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"op_identifier\",\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\": \"_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"record_field\",\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\": \"access_modifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"attributes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"record_fields\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"record_field\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"record_pattern\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"field_pattern\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"record_type_defn\",\n    \"named\": true,\n    \"fields\": {\n      \"block\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"access_modifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"record_fields\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_extension_elements\",\n            \"named\": true\n          },\n          {\n            \"type\": \"{\",\n            \"named\": false\n          },\n          {\n            \"type\": \"}\",\n            \"named\": false\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"type_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"repeat_pattern\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_pattern\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"rule\",\n    \"named\": true,\n    \"fields\": {\n      \"block\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"_expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"guard\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"_expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"pattern\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"_pattern\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"rules\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"rule\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"sbyte\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"int\",\n          \"named\": true\n        },\n        {\n          \"type\": \"xint\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"sequential_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"short_comp_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"range_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"simple_type\",\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\": \"long_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"slice_range\",\n    \"named\": true,\n    \"fields\": {\n      \"from\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"_expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"to\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"slice_ranges\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"slice_range\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"static_parameter_value\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"static_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          \"type\": \"type_arguments\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"string\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"format_string\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"trait_member_constraint\",\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\": \"active_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"op_identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"triple_quoted_string\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"format_triple_quoted_string\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"try_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rules\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"tuple_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_abbrev_defn\",\n    \"named\": true,\n    \"fields\": {\n      \"block\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"_type\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"type_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_argument\",\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\": \"type_argument_constraints\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constraint\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_argument_defn\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attributes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_argument\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_arguments\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"type_argument_constraints\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_argument_defn\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_attribute\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_static_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"_type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_attributes\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"type_attribute\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_check_pattern\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"atomic_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_definition\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_type_defn_body\",\n          \"named\": true\n        },\n        {\n          \"type\": \"attributes\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_extension\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"type_extension_elements\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_extension_elements\",\n    \"named\": true,\n    \"fields\": {\n      \"block\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"attributes\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do\",\n            \"named\": false\n          },\n          {\n            \"type\": \"function_or_value_defn\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interface_implementation\",\n            \"named\": true\n          },\n          {\n            \"type\": \"member_defn\",\n            \"named\": true\n          },\n          {\n            \"type\": \"static\",\n            \"named\": false\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"attributes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_or_value_defn\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interface_implementation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"member_defn\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_name\",\n    \"named\": true,\n    \"fields\": {\n      \"type_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"long_identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"access_modifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"attributes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_argument\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_arguments\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"typecast_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"_type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"typed_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"types\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"typed_pattern\",\n    \"named\": true,\n    \"fields\": {\n      \"constraints\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"type_argument_constraints\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"_type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"types\",\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\": \"uint16\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"int\",\n          \"named\": true\n        },\n        {\n          \"type\": \"xint\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"uint32\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"int\",\n          \"named\": true\n        },\n        {\n          \"type\": \"xint\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"uint64\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"int\",\n          \"named\": true\n        },\n        {\n          \"type\": \"xint\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"unativeint\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"int\",\n          \"named\": true\n        },\n        {\n          \"type\": \"xint\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"union_type_case\",\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\": \"attributes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"union_type_fields\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"union_type_cases\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"union_type_case\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"union_type_defn\",\n    \"named\": true,\n    \"fields\": {\n      \"block\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"access_modifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_extension_elements\",\n            \"named\": true\n          },\n          {\n            \"type\": \"union_type_cases\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"type_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"union_type_field\",\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\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"union_type_fields\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"union_type_field\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"value_declaration\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attributes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"do\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_or_value_defn\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"value_declaration_left\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"access_modifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_arguments\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"verbatim_bytearray\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"verbatim_string\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"while_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"with_field_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"block\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"field_initializers\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"_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\": \"\\\"B\",\n    \"named\": false\n  },\n  {\n    \"type\": \"#\",\n    \"named\": false\n  },\n  {\n    \"type\": \"#else\",\n    \"named\": false\n  },\n  {\n    \"type\": \"#endif\",\n    \"named\": false\n  },\n  {\n    \"type\": \"#if\",\n    \"named\": false\n  },\n  {\n    \"type\": \"#light\",\n    \"named\": false\n  },\n  {\n    \"type\": \"#line\",\n    \"named\": false\n  },\n  {\n    \"type\": \"#load\",\n    \"named\": false\n  },\n  {\n    \"type\": \"#nowarn\",\n    \"named\": false\n  },\n  {\n    \"type\": \"#r\",\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\": \"@>\",\n    \"named\": false\n  },\n  {\n    \"type\": \"@@>\",\n    \"named\": false\n  },\n  {\n    \"type\": \"L\",\n    \"named\": false\n  },\n  {\n    \"type\": \"LF\",\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\": \"abstract\",\n    \"named\": false\n  },\n  {\n    \"type\": \"active_pattern_op_name\",\n    \"named\": true\n  },\n  {\n    \"type\": \"and\",\n    \"named\": false\n  },\n  {\n    \"type\": \"as\",\n    \"named\": false\n  },\n  {\n    \"type\": \"assembly\",\n    \"named\": false\n  },\n  {\n    \"type\": \"assert\",\n    \"named\": false\n  },\n  {\n    \"type\": \"begin\",\n    \"named\": false\n  },\n  {\n    \"type\": \"block_comment_content\",\n    \"named\": true\n  },\n  {\n    \"type\": \"bool\",\n    \"named\": true\n  },\n  {\n    \"type\": \"class\",\n    \"named\": false\n  },\n  {\n    \"type\": \"comparison\",\n    \"named\": false\n  },\n  {\n    \"type\": \"constructor\",\n    \"named\": false\n  },\n  {\n    \"type\": \"default\",\n    \"named\": false\n  },\n  {\n    \"type\": \"delegate\",\n    \"named\": false\n  },\n  {\n    \"type\": \"do\",\n    \"named\": false\n  },\n  {\n    \"type\": \"do!\",\n    \"named\": false\n  },\n  {\n    \"type\": \"done\",\n    \"named\": false\n  },\n  {\n    \"type\": \"downcast\",\n    \"named\": false\n  },\n  {\n    \"type\": \"downto\",\n    \"named\": false\n  },\n  {\n    \"type\": \"elif\",\n    \"named\": false\n  },\n  {\n    \"type\": \"else\",\n    \"named\": false\n  },\n  {\n    \"type\": \"end\",\n    \"named\": false\n  },\n  {\n    \"type\": \"enum\",\n    \"named\": false\n  },\n  {\n    \"type\": \"equality\",\n    \"named\": false\n  },\n  {\n    \"type\": \"event\",\n    \"named\": false\n  },\n  {\n    \"type\": \"exception\",\n    \"named\": false\n  },\n  {\n    \"type\": \"f\",\n    \"named\": false\n  },\n  {\n    \"type\": \"field\",\n    \"named\": false\n  },\n  {\n    \"type\": \"finally\",\n    \"named\": false\n  },\n  {\n    \"type\": \"float\",\n    \"named\": false\n  },\n  {\n    \"type\": \"for\",\n    \"named\": false\n  },\n  {\n    \"type\": \"fun\",\n    \"named\": false\n  },\n  {\n    \"type\": \"function\",\n    \"named\": false\n  },\n  {\n    \"type\": \"get\",\n    \"named\": false\n  },\n  {\n    \"type\": \"global\",\n    \"named\": false\n  },\n  {\n    \"type\": \"id\",\n    \"named\": false\n  },\n  {\n    \"type\": \"identifier\",\n    \"named\": true\n  },\n  {\n    \"type\": \"if\",\n    \"named\": false\n  },\n  {\n    \"type\": \"in\",\n    \"named\": false\n  },\n  {\n    \"type\": \"inherit\",\n    \"named\": false\n  },\n  {\n    \"type\": \"inline\",\n    \"named\": false\n  },\n  {\n    \"type\": \"int\",\n    \"named\": true\n  },\n  {\n    \"type\": \"interface\",\n    \"named\": false\n  },\n  {\n    \"type\": \"l\",\n    \"named\": false\n  },\n  {\n    \"type\": \"lazy\",\n    \"named\": false\n  },\n  {\n    \"type\": \"let\",\n    \"named\": false\n  },\n  {\n    \"type\": \"let!\",\n    \"named\": false\n  },\n  {\n    \"type\": \"lf\",\n    \"named\": false\n  },\n  {\n    \"type\": \"line_comment\",\n    \"named\": true\n  },\n  {\n    \"type\": \"match\",\n    \"named\": false\n  },\n  {\n    \"type\": \"match!\",\n    \"named\": false\n  },\n  {\n    \"type\": \"member\",\n    \"named\": false\n  },\n  {\n    \"type\": \"module\",\n    \"named\": false\n  },\n  {\n    \"type\": \"mutable\",\n    \"named\": false\n  },\n  {\n    \"type\": \"n\",\n    \"named\": false\n  },\n  {\n    \"type\": \"namespace\",\n    \"named\": false\n  },\n  {\n    \"type\": \"new\",\n    \"named\": false\n  },\n  {\n    \"type\": \"not\",\n    \"named\": false\n  },\n  {\n    \"type\": \"null\",\n    \"named\": false\n  },\n  {\n    \"type\": \"of\",\n    \"named\": false\n  },\n  {\n    \"type\": \"op_identifier\",\n    \"named\": true\n  },\n  {\n    \"type\": \"open\",\n    \"named\": false\n  },\n  {\n    \"type\": \"or\",\n    \"named\": false\n  },\n  {\n    \"type\": \"override\",\n    \"named\": false\n  },\n  {\n    \"type\": \"param\",\n    \"named\": false\n  },\n  {\n    \"type\": \"property\",\n    \"named\": false\n  },\n  {\n    \"type\": \"rec\",\n    \"named\": false\n  },\n  {\n    \"type\": \"return\",\n    \"named\": false\n  },\n  {\n    \"type\": \"return!\",\n    \"named\": false\n  },\n  {\n    \"type\": \"s\",\n    \"named\": false\n  },\n  {\n    \"type\": \"set\",\n    \"named\": false\n  },\n  {\n    \"type\": \"static\",\n    \"named\": false\n  },\n  {\n    \"type\": \"struct\",\n    \"named\": false\n  },\n  {\n    \"type\": \"then\",\n    \"named\": false\n  },\n  {\n    \"type\": \"to\",\n    \"named\": false\n  },\n  {\n    \"type\": \"try\",\n    \"named\": false\n  },\n  {\n    \"type\": \"type\",\n    \"named\": false\n  },\n  {\n    \"type\": \"un\",\n    \"named\": false\n  },\n  {\n    \"type\": \"unit\",\n    \"named\": false\n  },\n  {\n    \"type\": \"unit\",\n    \"named\": true\n  },\n  {\n    \"type\": \"unmanaged\",\n    \"named\": false\n  },\n  {\n    \"type\": \"upcast\",\n    \"named\": false\n  },\n  {\n    \"type\": \"us\",\n    \"named\": false\n  },\n  {\n    \"type\": \"use\",\n    \"named\": false\n  },\n  {\n    \"type\": \"use!\",\n    \"named\": false\n  },\n  {\n    \"type\": \"uy\",\n    \"named\": false\n  },\n  {\n    \"type\": \"val\",\n    \"named\": false\n  },\n  {\n    \"type\": \"when\",\n    \"named\": false\n  },\n  {\n    \"type\": \"while\",\n    \"named\": false\n  },\n  {\n    \"type\": \"wildcard_active_pattern_op\",\n    \"named\": true\n  },\n  {\n    \"type\": \"wildcard_pattern\",\n    \"named\": true\n  },\n  {\n    \"type\": \"with\",\n    \"named\": false\n  },\n  {\n    \"type\": \"xint\",\n    \"named\": true\n  },\n  {\n    \"type\": \"y\",\n    \"named\": false\n  },\n  {\n    \"type\": \"yield\",\n    \"named\": false\n  },\n  {\n    \"type\": \"yield!\",\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]";
Expand description

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