Skip to main content

SIGNATURE_NODE_TYPES

Constant SIGNATURE_NODE_TYPES 

Source
pub const SIGNATURE_NODE_TYPES: &str = "[\n  {\n    \"type\": \"_module_signature_elements\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"compiler_directive_decl\",\n        \"named\": true\n      },\n      {\n        \"type\": \"exception_definition\",\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_definition\",\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\": false,\n      \"types\": [\n        {\n          \"type\": \"access_modifier\",\n          \"named\": true\n        },\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\": \"long_identifier_or_op\",\n          \"named\": true\n        },\n        {\n          \"type\": \"named_field_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"optional_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"paren_expression\",\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_const_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  {\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\": false,\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\": \"preproc_if\",\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\": \"line_comment\",\n          \"named\": true\n        },\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\": \"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\": \"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\": \"long_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"named_field_pattern\",\n          \"named\": true\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_const_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  {\n    \"type\": \"argument_spec\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"anon_record_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          \"type\": \"constrained_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"flexible_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\": \"struct_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_argument\",\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_pattern\",\n    \"named\": true,\n    \"fields\": {\n      \"block\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\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_const_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  },\n  {\n    \"type\": \"as_pattern\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\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\",\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\": \"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_const_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  {\n    \"type\": \"atomic_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\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\": \"long_identifier\",\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\": \"struct_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_argument\",\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      \"target\": {\n        \"multiple\": false,\n        \"required\": false,\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\": \"anon_record_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"compound_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"const\",\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\": \"long_identifier_or_op\",\n          \"named\": true\n        },\n        {\n          \"type\": \"paren_expression\",\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\": \"struct_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_argument\",\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\": \"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\": \"attributes\",\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\": \"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_const_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  {\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\": \"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    \"extra\": 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\": \"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\": \"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\": \"anon_record_type\",\n            \"named\": true\n          },\n          {\n            \"type\": \"compound_type\",\n            \"named\": true\n          },\n          {\n            \"type\": \"const\",\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\": \"long_identifier_or_op\",\n            \"named\": true\n          },\n          {\n            \"type\": \"null\",\n            \"named\": false\n          },\n          {\n            \"type\": \"paren_expression\",\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\": \"struct_type\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_argument\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"compiler_directive_decl\",\n    \"named\": true,\n    \"extra\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"int\",\n          \"named\": true\n        },\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\": \"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\": \"struct_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_argument\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"conjunct_pattern\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\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\": \"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_const_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  {\n    \"type\": \"cons_pattern\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\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\": \"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_const_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  {\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\": \"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\": \"struct_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_argument\",\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\": \"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\": \"struct_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"trait_member_constraint\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_argument\",\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\": \"anon_record_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"arguments_spec\",\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\": \"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\": \"struct_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_argument\",\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    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attributes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"const\",\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          \"type\": \"long_identifier_or_op\",\n          \"named\": true\n        },\n        {\n          \"type\": \"paren_expression\",\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\": \"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\": \"struct_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_argument\",\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\": false,\n      \"types\": [\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\": \"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_const_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  {\n    \"type\": \"do\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"const\",\n          \"named\": true\n        },\n        {\n          \"type\": \"long_identifier_or_op\",\n          \"named\": true\n        },\n        {\n          \"type\": \"paren_expression\",\n          \"named\": true\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\": false,\n        \"types\": [\n          {\n            \"type\": \"enum_type_cases\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"enum_type_cases\",\n          \"named\": true\n        },\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\": false,\n      \"types\": [\n        {\n          \"type\": \"access_modifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"attributes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_extension_elements\",\n          \"named\": true\n        },\n        {\n          \"type\": \"union_type_fields\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"extern_binding\",\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      \"parameters\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \",\",\n            \"named\": false\n          },\n          {\n            \"type\": \"extern_param\",\n            \"named\": true\n          }\n        ]\n      },\n      \"return_type\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\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\": \"struct_type\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_argument\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"attributes\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"extern_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\": \"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\": \"struct_type\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_argument\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"attributes\",\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\": \"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\": \"long_identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"named_field_pattern\",\n          \"named\": true\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_const_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  {\n    \"type\": \"file\",\n    \"named\": true,\n    \"root\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"_module_signature_elements\",\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\": \"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\": \"struct_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_argument\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"float\",\n    \"named\": true,\n    \"fields\": {}\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\": false,\n      \"types\": [\n        {\n          \"type\": \"const\",\n          \"named\": true\n        },\n        {\n          \"type\": \"long_identifier_or_op\",\n          \"named\": true\n        },\n        {\n          \"type\": \"paren_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"format_triple_quoted_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\": \"fsi_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          \"type\": \"verbatim_string\",\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_or_value_defn\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"const\",\n            \"named\": true\n          },\n          {\n            \"type\": \"long_identifier_or_op\",\n            \"named\": true\n          },\n          {\n            \"type\": \"null\",\n            \"named\": false\n          },\n          {\n            \"type\": \"paren_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\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_declaration_left\",\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\": \"struct_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_argument\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_argument_constraints\",\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\": \"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\": \"struct_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_argument\",\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\": \"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\": \"long_identifier_or_op\",\n          \"named\": true\n        },\n        {\n          \"type\": \"named_field_pattern\",\n          \"named\": true\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_const_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  {\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\": \"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\": \"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\": \"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\": \"struct_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_argument\",\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            \"type\": \"preproc_if\",\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_pattern\",\n    \"named\": true,\n    \"fields\": {\n      \"block\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\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_const_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  },\n  {\n    \"type\": \"list_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\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\": \"struct_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_argument\",\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\": \"measure\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"measure\",\n          \"named\": true\n        },\n        {\n          \"type\": \"measure_power\",\n          \"named\": true\n        },\n        {\n          \"type\": \"measure_quotient\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"measure_atom\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"measure\",\n          \"named\": true\n        },\n        {\n          \"type\": \"simple_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_argument\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"measure_power\",\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\": \"measure_atom\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"measure_quotient\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"compound_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"measure_atom\",\n          \"named\": true\n        },\n        {\n          \"type\": \"measure_power\",\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\": \"access_modifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"additional_constr_defn\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anon_record_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"attributes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"compound_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"const\",\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\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"long_identifier_or_op\",\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\": \"paren_expression\",\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\": \"property_or_ident\",\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\": \"struct_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_argument\",\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\": \"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_const_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      \"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\": \"and\",\n            \"named\": false\n          },\n          {\n            \"type\": \"anon_record_type\",\n            \"named\": true\n          },\n          {\n            \"type\": \"compound_type\",\n            \"named\": true\n          },\n          {\n            \"type\": \"const\",\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_declaration_left\",\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\": \"long_identifier_or_op\",\n            \"named\": true\n          },\n          {\n            \"type\": \"null\",\n            \"named\": false\n          },\n          {\n            \"type\": \"paren_expression\",\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\": \"property_accessor\",\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\": \"struct_type\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_argument\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_argument_constraints\",\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\": \"const\",\n            \"named\": true\n          },\n          {\n            \"type\": \"long_identifier_or_op\",\n            \"named\": true\n          },\n          {\n            \"type\": \"null\",\n            \"named\": false\n          },\n          {\n            \"type\": \"paren_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\": \"anon_record_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"compound_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"const\",\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\": \"long_identifier_or_op\",\n          \"named\": true\n        },\n        {\n          \"type\": \"paren_expression\",\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\": \"struct_type\",\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\": \"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\": \"_module_signature_elements\",\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\": \"named_field\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\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\",\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\": \"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_const_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  {\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_signature_elements\",\n          \"named\": true\n        },\n        {\n          \"type\": \"access_modifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"attributes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"const\",\n          \"named\": true\n        },\n        {\n          \"type\": \"declaration_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"extern_binding\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fsi_directive_decl\",\n          \"named\": true\n        },\n        {\n          \"type\": \"long_identifier_or_op\",\n          \"named\": true\n        },\n        {\n          \"type\": \"paren_expression\",\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_signature_elements\",\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\": \"optional_pattern\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\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\": \"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_const_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  {\n    \"type\": \"paren_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"const\",\n          \"named\": true\n        },\n        {\n          \"type\": \"long_identifier_or_op\",\n          \"named\": true\n        },\n        {\n          \"type\": \"paren_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple_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\": false,\n      \"types\": [\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\": \"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_const_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  {\n    \"type\": \"paren_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\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\": \"struct_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_argument\",\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\": \"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\": \"long_identifier\",\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\": \"struct_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_argument\",\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\": \"attributes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"class_inherits_decl\",\n          \"named\": true\n        },\n        {\n          \"type\": \"const\",\n          \"named\": true\n        },\n        {\n          \"type\": \"declaration_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exception_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"extern_binding\",\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\": \"long_identifier_or_op\",\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\": \"named_module\",\n          \"named\": true\n        },\n        {\n          \"type\": \"paren_expression\",\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\": \"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\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"bool\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preproc_if_and_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preproc_if_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preproc_if_or_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"attributes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"class_inherits_decl\",\n          \"named\": true\n        },\n        {\n          \"type\": \"const\",\n          \"named\": true\n        },\n        {\n          \"type\": \"declaration_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exception_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"extern_binding\",\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\": \"long_identifier_or_op\",\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\": \"named_module\",\n          \"named\": true\n        },\n        {\n          \"type\": \"paren_expression\",\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\": \"type_extension_elements\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"preproc_if_and_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"bool\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_if_and_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_if_not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_if_or_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"preproc_if_not_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"bool\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_if_and_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_if_not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_if_or_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"preproc_if_or_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"bool\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_if_and_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_if_not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_if_or_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"preproc_line\",\n    \"named\": true,\n    \"extra\": 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\": \"access_modifier\",\n          \"named\": true\n        },\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\": \"attributes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"class_as_reference\",\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\": \"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_const_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  {\n    \"type\": \"property_accessor\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"anon_record_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"argument_patterns\",\n          \"named\": true\n        },\n        {\n          \"type\": \"compound_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"const\",\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\": \"long_identifier_or_op\",\n          \"named\": true\n        },\n        {\n          \"type\": \"paren_expression\",\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\": \"struct_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_argument\",\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\": \"record_field\",\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\": \"anon_record_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"attributes\",\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\": \"identifier\",\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\": \"struct_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_argument\",\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\": false,\n      \"types\": [\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\": \"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_const_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  {\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\": \"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\": \"static_parameter_value\",\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\": \"long_identifier_or_op\",\n          \"named\": true\n        },\n        {\n          \"type\": \"paren_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\": \"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\": \"struct_type\",\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\": \"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\": \"struct_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"paren_type\",\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\": \"active_pattern\",\n          \"named\": true\n        },\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\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"op_identifier\",\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\": \"struct_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_argument\",\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\": \"tuple_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"const\",\n          \"named\": true\n        },\n        {\n          \"type\": \"long_identifier_or_op\",\n          \"named\": true\n        },\n        {\n          \"type\": \"paren_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\": \"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\": \"measure\",\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\": \"struct_type\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_argument\",\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\": \"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\": \"measure\",\n          \"named\": true\n        },\n        {\n          \"type\": \"named_static_parameter\",\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_parameter_value\",\n          \"named\": true\n        },\n        {\n          \"type\": \"static_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_argument\",\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_declaration\",\n    \"named\": true,\n    \"fields\": {},\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_definition\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"anon_type_defn\",\n          \"named\": true\n        },\n        {\n          \"type\": \"attributes\",\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_declaration\",\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  {\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\": \"attributes\",\n            \"named\": true\n          },\n          {\n            \"type\": \"const\",\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\": \"long_identifier_or_op\",\n            \"named\": true\n          },\n          {\n            \"type\": \"member_defn\",\n            \"named\": true\n          },\n          {\n            \"type\": \"null\",\n            \"named\": false\n          },\n          {\n            \"type\": \"paren_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preproc_if\",\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\": \"attributes\",\n          \"named\": true\n        },\n        {\n          \"type\": \"const\",\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\": \"long_identifier_or_op\",\n          \"named\": true\n        },\n        {\n          \"type\": \"member_defn\",\n          \"named\": true\n        },\n        {\n          \"type\": \"paren_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preproc_if\",\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\": \"type_argument\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_arguments\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"typed_const_pattern\",\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\": \"measure\",\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\": \"anon_record_type\",\n          \"named\": true\n        },\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\": \"compound_type\",\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\": \"constrained_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"disjunct_pattern\",\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\": \"identifier_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"named_field_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"optional_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"paren_pattern\",\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\": \"record_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"repeat_pattern\",\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\": \"struct_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_argument\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_check_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"typed_const_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  {\n    \"type\": \"types\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\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\": \"struct_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_argument\",\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\": \"anon_record_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"attributes\",\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\": \"identifier\",\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\": \"struct_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_argument\",\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\": false,\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\": 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\": \"type_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"union_type_cases\",\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\": \"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\": \"identifier\",\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\": \"struct_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_argument\",\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\": false,\n      \"types\": [\n        {\n          \"type\": \"access_modifier\",\n          \"named\": true\n        },\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\": \"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_arguments\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_check_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"typed_const_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  {\n    \"type\": \"value_definition\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"const\",\n            \"named\": true\n          },\n          {\n            \"type\": \"long_identifier_or_op\",\n            \"named\": true\n          },\n          {\n            \"type\": \"null\",\n            \"named\": false\n          },\n          {\n            \"type\": \"paren_expression\",\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\": \"curried_spec\",\n          \"named\": true\n        },\n        {\n          \"type\": \"value_declaration_left\",\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\": \"!\",\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\": \"#I\",\n    \"named\": false\n  },\n  {\n    \"type\": \"#else\",\n    \"named\": false\n  },\n  {\n    \"type\": \"#endif\",\n    \"named\": false\n  },\n  {\n    \"type\": \"#help\",\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\": \"#quit\",\n    \"named\": false\n  },\n  {\n    \"type\": \"#r\",\n    \"named\": false\n  },\n  {\n    \"type\": \"#time\",\n    \"named\": false\n  },\n  {\n    \"type\": \"#warnon\",\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\": \"1\",\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\": \"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\": \"default\",\n    \"named\": false\n  },\n  {\n    \"type\": \"delegate\",\n    \"named\": false\n  },\n  {\n    \"type\": \"do\",\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\": \"exception\",\n    \"named\": false\n  },\n  {\n    \"type\": \"extern\",\n    \"named\": false\n  },\n  {\n    \"type\": \"f\",\n    \"named\": false\n  },\n  {\n    \"type\": \"float\",\n    \"named\": false\n  },\n  {\n    \"type\": \"get\",\n    \"named\": false\n  },\n  {\n    \"type\": \"global\",\n    \"named\": false\n  },\n  {\n    \"type\": \"identifier\",\n    \"named\": true\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\": \"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    \"extra\": true\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\": \"rec\",\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\": \"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\": \"us\",\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\": \"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\": \"xml_doc\",\n    \"named\": true,\n    \"extra\": true\n  },\n  {\n    \"type\": \"y\",\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 the signature grammar. [node-types.json]: https://tree-sitter.github.io/tree-sitter/using-parsers/6-static-node-types.html