Constant NODE_TYPES

Source
pub const NODE_TYPES: &str = "[\n  {\n    \"type\": \"class_decl\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"data_family\",\n        \"named\": true\n      },\n      {\n        \"type\": \"decl\",\n        \"named\": true\n      },\n      {\n        \"type\": \"default_signature\",\n        \"named\": true\n      },\n      {\n        \"type\": \"fixity\",\n        \"named\": true\n      },\n      {\n        \"type\": \"type_family\",\n        \"named\": true\n      },\n      {\n        \"type\": \"type_instance\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"constraint\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"apply\",\n        \"named\": true\n      },\n      {\n        \"type\": \"infix\",\n        \"named\": true\n      },\n      {\n        \"type\": \"literal\",\n        \"named\": true\n      },\n      {\n        \"type\": \"name\",\n        \"named\": true\n      },\n      {\n        \"type\": \"parens\",\n        \"named\": true\n      },\n      {\n        \"type\": \"prefix_id\",\n        \"named\": true\n      },\n      {\n        \"type\": \"prefix_tuple\",\n        \"named\": true\n      },\n      {\n        \"type\": \"prefix_unboxed_sum\",\n        \"named\": true\n      },\n      {\n        \"type\": \"prefix_unboxed_tuple\",\n        \"named\": true\n      },\n      {\n        \"type\": \"promoted\",\n        \"named\": true\n      },\n      {\n        \"type\": \"qualified\",\n        \"named\": true\n      },\n      {\n        \"type\": \"quasiquote\",\n        \"named\": true\n      },\n      {\n        \"type\": \"splice\",\n        \"named\": true\n      },\n      {\n        \"type\": \"tuple\",\n        \"named\": true\n      },\n      {\n        \"type\": \"unboxed_unit\",\n        \"named\": true\n      },\n      {\n        \"type\": \"unit\",\n        \"named\": true\n      },\n      {\n        \"type\": \"variable\",\n        \"named\": true\n      },\n      {\n        \"type\": \"wildcard\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"constraints\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"constraint\",\n        \"named\": true\n      },\n      {\n        \"type\": \"context\",\n        \"named\": true\n      },\n      {\n        \"type\": \"forall\",\n        \"named\": true\n      },\n      {\n        \"type\": \"implicit_parameter\",\n        \"named\": true\n      },\n      {\n        \"type\": \"signature\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"decl\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"bind\",\n        \"named\": true\n      },\n      {\n        \"type\": \"function\",\n        \"named\": true\n      },\n      {\n        \"type\": \"signature\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"declaration\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"class\",\n        \"named\": true\n      },\n      {\n        \"type\": \"data_family\",\n        \"named\": true\n      },\n      {\n        \"type\": \"data_instance\",\n        \"named\": true\n      },\n      {\n        \"type\": \"data_type\",\n        \"named\": true\n      },\n      {\n        \"type\": \"decl\",\n        \"named\": true\n      },\n      {\n        \"type\": \"default_types\",\n        \"named\": true\n      },\n      {\n        \"type\": \"deriving_instance\",\n        \"named\": true\n      },\n      {\n        \"type\": \"fixity\",\n        \"named\": true\n      },\n      {\n        \"type\": \"foreign_export\",\n        \"named\": true\n      },\n      {\n        \"type\": \"foreign_import\",\n        \"named\": true\n      },\n      {\n        \"type\": \"instance\",\n        \"named\": true\n      },\n      {\n        \"type\": \"kind_signature\",\n        \"named\": true\n      },\n      {\n        \"type\": \"newtype\",\n        \"named\": true\n      },\n      {\n        \"type\": \"pattern_synonym\",\n        \"named\": true\n      },\n      {\n        \"type\": \"role_annotation\",\n        \"named\": true\n      },\n      {\n        \"type\": \"top_splice\",\n        \"named\": true\n      },\n      {\n        \"type\": \"type_family\",\n        \"named\": true\n      },\n      {\n        \"type\": \"type_instance\",\n        \"named\": true\n      },\n      {\n        \"type\": \"type_synomym\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"expression\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"apply\",\n        \"named\": true\n      },\n      {\n        \"type\": \"arithmetic_sequence\",\n        \"named\": true\n      },\n      {\n        \"type\": \"case\",\n        \"named\": true\n      },\n      {\n        \"type\": \"conditional\",\n        \"named\": true\n      },\n      {\n        \"type\": \"constructor\",\n        \"named\": true\n      },\n      {\n        \"type\": \"do\",\n        \"named\": true\n      },\n      {\n        \"type\": \"implicit_variable\",\n        \"named\": true\n      },\n      {\n        \"type\": \"infix\",\n        \"named\": true\n      },\n      {\n        \"type\": \"label\",\n        \"named\": true\n      },\n      {\n        \"type\": \"lambda\",\n        \"named\": true\n      },\n      {\n        \"type\": \"lambda_case\",\n        \"named\": true\n      },\n      {\n        \"type\": \"lambda_cases\",\n        \"named\": true\n      },\n      {\n        \"type\": \"left_section\",\n        \"named\": true\n      },\n      {\n        \"type\": \"let_in\",\n        \"named\": true\n      },\n      {\n        \"type\": \"list\",\n        \"named\": true\n      },\n      {\n        \"type\": \"list_comprehension\",\n        \"named\": true\n      },\n      {\n        \"type\": \"literal\",\n        \"named\": true\n      },\n      {\n        \"type\": \"multi_way_if\",\n        \"named\": true\n      },\n      {\n        \"type\": \"negation\",\n        \"named\": true\n      },\n      {\n        \"type\": \"parens\",\n        \"named\": true\n      },\n      {\n        \"type\": \"prefix_id\",\n        \"named\": true\n      },\n      {\n        \"type\": \"prefix_tuple\",\n        \"named\": true\n      },\n      {\n        \"type\": \"prefix_unboxed_sum\",\n        \"named\": true\n      },\n      {\n        \"type\": \"prefix_unboxed_tuple\",\n        \"named\": true\n      },\n      {\n        \"type\": \"projection\",\n        \"named\": true\n      },\n      {\n        \"type\": \"projection_selector\",\n        \"named\": true\n      },\n      {\n        \"type\": \"qualified\",\n        \"named\": true\n      },\n      {\n        \"type\": \"quasiquote\",\n        \"named\": true\n      },\n      {\n        \"type\": \"quote\",\n        \"named\": true\n      },\n      {\n        \"type\": \"record\",\n        \"named\": true\n      },\n      {\n        \"type\": \"right_section\",\n        \"named\": true\n      },\n      {\n        \"type\": \"splice\",\n        \"named\": true\n      },\n      {\n        \"type\": \"th_quoted_name\",\n        \"named\": true\n      },\n      {\n        \"type\": \"tuple\",\n        \"named\": true\n      },\n      {\n        \"type\": \"typed_quote\",\n        \"named\": true\n      },\n      {\n        \"type\": \"unboxed_sum\",\n        \"named\": true\n      },\n      {\n        \"type\": \"unboxed_tuple\",\n        \"named\": true\n      },\n      {\n        \"type\": \"unboxed_unit\",\n        \"named\": true\n      },\n      {\n        \"type\": \"unit\",\n        \"named\": true\n      },\n      {\n        \"type\": \"variable\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"guard\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"boolean\",\n        \"named\": true\n      },\n      {\n        \"type\": \"let\",\n        \"named\": true\n      },\n      {\n        \"type\": \"pattern_guard\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"instance_decl\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"data_instance\",\n        \"named\": true\n      },\n      {\n        \"type\": \"decl\",\n        \"named\": true\n      },\n      {\n        \"type\": \"type_instance\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"pattern\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"apply\",\n        \"named\": true\n      },\n      {\n        \"type\": \"as\",\n        \"named\": true\n      },\n      {\n        \"type\": \"constructor\",\n        \"named\": true\n      },\n      {\n        \"type\": \"infix\",\n        \"named\": true\n      },\n      {\n        \"type\": \"irrefutable\",\n        \"named\": true\n      },\n      {\n        \"type\": \"list\",\n        \"named\": true\n      },\n      {\n        \"type\": \"literal\",\n        \"named\": true\n      },\n      {\n        \"type\": \"negation\",\n        \"named\": true\n      },\n      {\n        \"type\": \"parens\",\n        \"named\": true\n      },\n      {\n        \"type\": \"prefix_id\",\n        \"named\": true\n      },\n      {\n        \"type\": \"prefix_tuple\",\n        \"named\": true\n      },\n      {\n        \"type\": \"prefix_unboxed_sum\",\n        \"named\": true\n      },\n      {\n        \"type\": \"prefix_unboxed_tuple\",\n        \"named\": true\n      },\n      {\n        \"type\": \"qualified\",\n        \"named\": true\n      },\n      {\n        \"type\": \"quasiquote\",\n        \"named\": true\n      },\n      {\n        \"type\": \"record\",\n        \"named\": true\n      },\n      {\n        \"type\": \"splice\",\n        \"named\": true\n      },\n      {\n        \"type\": \"strict\",\n        \"named\": true\n      },\n      {\n        \"type\": \"tuple\",\n        \"named\": true\n      },\n      {\n        \"type\": \"unboxed_sum\",\n        \"named\": true\n      },\n      {\n        \"type\": \"unboxed_tuple\",\n        \"named\": true\n      },\n      {\n        \"type\": \"unboxed_unit\",\n        \"named\": true\n      },\n      {\n        \"type\": \"unit\",\n        \"named\": true\n      },\n      {\n        \"type\": \"variable\",\n        \"named\": true\n      },\n      {\n        \"type\": \"wildcard\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"qualifier\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"boolean\",\n        \"named\": true\n      },\n      {\n        \"type\": \"generator\",\n        \"named\": true\n      },\n      {\n        \"type\": \"group\",\n        \"named\": true\n      },\n      {\n        \"type\": \"let\",\n        \"named\": true\n      },\n      {\n        \"type\": \"transform\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"quantified_type\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"context\",\n        \"named\": true\n      },\n      {\n        \"type\": \"forall\",\n        \"named\": true\n      },\n      {\n        \"type\": \"forall_required\",\n        \"named\": true\n      },\n      {\n        \"type\": \"function\",\n        \"named\": true\n      },\n      {\n        \"type\": \"implicit_parameter\",\n        \"named\": true\n      },\n      {\n        \"type\": \"linear_function\",\n        \"named\": true\n      },\n      {\n        \"type\": \"type\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"statement\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"bind\",\n        \"named\": true\n      },\n      {\n        \"type\": \"exp\",\n        \"named\": true\n      },\n      {\n        \"type\": \"let\",\n        \"named\": true\n      },\n      {\n        \"type\": \"rec\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"type\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"apply\",\n        \"named\": true\n      },\n      {\n        \"type\": \"infix\",\n        \"named\": true\n      },\n      {\n        \"type\": \"list\",\n        \"named\": true\n      },\n      {\n        \"type\": \"literal\",\n        \"named\": true\n      },\n      {\n        \"type\": \"name\",\n        \"named\": true\n      },\n      {\n        \"type\": \"parens\",\n        \"named\": true\n      },\n      {\n        \"type\": \"prefix_id\",\n        \"named\": true\n      },\n      {\n        \"type\": \"prefix_list\",\n        \"named\": true\n      },\n      {\n        \"type\": \"prefix_tuple\",\n        \"named\": true\n      },\n      {\n        \"type\": \"prefix_unboxed_sum\",\n        \"named\": true\n      },\n      {\n        \"type\": \"prefix_unboxed_tuple\",\n        \"named\": true\n      },\n      {\n        \"type\": \"promoted\",\n        \"named\": true\n      },\n      {\n        \"type\": \"qualified\",\n        \"named\": true\n      },\n      {\n        \"type\": \"quasiquote\",\n        \"named\": true\n      },\n      {\n        \"type\": \"splice\",\n        \"named\": true\n      },\n      {\n        \"type\": \"star\",\n        \"named\": true\n      },\n      {\n        \"type\": \"tuple\",\n        \"named\": true\n      },\n      {\n        \"type\": \"unboxed_sum\",\n        \"named\": true\n      },\n      {\n        \"type\": \"unboxed_tuple\",\n        \"named\": true\n      },\n      {\n        \"type\": \"unboxed_unit\",\n        \"named\": true\n      },\n      {\n        \"type\": \"unit\",\n        \"named\": true\n      },\n      {\n        \"type\": \"variable\",\n        \"named\": true\n      },\n      {\n        \"type\": \"wildcard\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"type_param\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"invisible\",\n        \"named\": true\n      },\n      {\n        \"type\": \"parens\",\n        \"named\": true\n      },\n      {\n        \"type\": \"variable\",\n        \"named\": true\n      },\n      {\n        \"type\": \"wildcard\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"(#\",\n    \"named\": false,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"abstract_family\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"alternative\",\n    \"named\": true,\n    \"fields\": {\n      \"binds\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"local_binds\",\n            \"named\": true\n          }\n        ]\n      },\n      \"match\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"match\",\n            \"named\": true\n          }\n        ]\n      },\n      \"pattern\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"pattern\",\n            \"named\": true\n          },\n          {\n            \"type\": \"signature\",\n            \"named\": true\n          }\n        ]\n      },\n      \"patterns\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"patterns\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"alternatives\",\n    \"named\": true,\n    \"fields\": {\n      \"alternative\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"alternative\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"annotated\",\n    \"named\": true,\n    \"fields\": {\n      \"kind\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"quantified_type\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"type_param\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"apply\",\n    \"named\": true,\n    \"fields\": {\n      \"argument\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"explicit_type\",\n            \"named\": true\n          },\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"kind_application\",\n            \"named\": true\n          },\n          {\n            \"type\": \"pattern\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_application\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_binder\",\n            \"named\": true\n          }\n        ]\n      },\n      \"constructor\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"constraint\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type\",\n            \"named\": true\n          }\n        ]\n      },\n      \"function\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"pattern\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"arithmetic_sequence\",\n    \"named\": true,\n    \"fields\": {\n      \"from\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"signature\",\n            \"named\": true\n          }\n        ]\n      },\n      \"step\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"signature\",\n            \"named\": true\n          }\n        ]\n      },\n      \"to\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"signature\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"as\",\n    \"named\": true,\n    \"fields\": {\n      \"bind\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"variable\",\n            \"named\": true\n          }\n        ]\n      },\n      \"pattern\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"pattern\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"associated_type\",\n    \"named\": true,\n    \"fields\": {\n      \"namespace\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"type\",\n            \"named\": false\n          }\n        ]\n      },\n      \"type\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"qualified\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"bind\",\n    \"named\": true,\n    \"fields\": {\n      \"arrow\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"<-\",\n            \"named\": false\n          },\n          {\n            \"type\": \"\u{2190}\",\n            \"named\": false\n          }\n        ]\n      },\n      \"binds\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"local_binds\",\n            \"named\": true\n          }\n        ]\n      },\n      \"expression\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"signature\",\n            \"named\": true\n          }\n        ]\n      },\n      \"implicit\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"implicit_variable\",\n            \"named\": true\n          }\n        ]\n      },\n      \"match\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"match\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"prefix_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable\",\n            \"named\": true\n          }\n        ]\n      },\n      \"pattern\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"pattern\",\n            \"named\": true\n          },\n          {\n            \"type\": \"signature\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"binding_list\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"constructor\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"boolean\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"signature\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"case\",\n    \"named\": true,\n    \"fields\": {\n      \"alternatives\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"alternatives\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"signature\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"children\",\n    \"named\": true,\n    \"fields\": {\n      \"element\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"all_names\",\n            \"named\": true\n          },\n          {\n            \"type\": \"associated_type\",\n            \"named\": true\n          },\n          {\n            \"type\": \"constructor\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"qualified\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"class\",\n    \"named\": true,\n    \"fields\": {\n      \"context\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"context\",\n            \"named\": true\n          }\n        ]\n      },\n      \"declarations\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"class_declarations\",\n            \"named\": true\n          }\n        ]\n      },\n      \"fundeps\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"fundeps\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unit\",\n            \"named\": true\n          }\n        ]\n      },\n      \"patterns\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"type_params\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"infix\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parens\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"class_declarations\",\n    \"named\": true,\n    \"fields\": {\n      \"declaration\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"class_decl\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"conditional\",\n    \"named\": true,\n    \"fields\": {\n      \"else\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"signature\",\n            \"named\": true\n          }\n        ]\n      },\n      \"if\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"signature\",\n            \"named\": true\n          }\n        ]\n      },\n      \"then\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"signature\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"constructor_operator\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"constructor_synonym\",\n    \"named\": true,\n    \"fields\": {\n      \"binds\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"local_binds\",\n            \"named\": true\n          }\n        ]\n      },\n      \"implicit\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"implicit_variable\",\n            \"named\": true\n          }\n        ]\n      },\n      \"match\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"match\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"prefix_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable\",\n            \"named\": true\n          }\n        ]\n      },\n      \"pattern\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"pattern\",\n            \"named\": true\n          },\n          {\n            \"type\": \"signature\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"constructor_synonyms\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"constructor_synonym\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"context\",\n    \"named\": true,\n    \"fields\": {\n      \"arrow\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"=>\",\n            \"named\": false\n          },\n          {\n            \"type\": \"\u{21d2}\",\n            \"named\": false\n          }\n        ]\n      },\n      \"constraint\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"constraints\",\n            \"named\": true\n          }\n        ]\n      },\n      \"context\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"constraint\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"quantified_type\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"data_constructor\",\n    \"named\": true,\n    \"fields\": {\n      \"constructor\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"infix\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix\",\n            \"named\": true\n          },\n          {\n            \"type\": \"record\",\n            \"named\": true\n          },\n          {\n            \"type\": \"special\",\n            \"named\": true\n          }\n        ]\n      },\n      \"context\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"context\",\n            \"named\": true\n          }\n        ]\n      },\n      \"forall\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"forall\",\n            \"named\": true\n          },\n          {\n            \"type\": \"forall_required\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"data_constructors\",\n    \"named\": true,\n    \"fields\": {\n      \"constructor\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"data_constructor\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"data_family\",\n    \"named\": true,\n    \"fields\": {\n      \"kind\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"quantified_type\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unit\",\n            \"named\": true\n          }\n        ]\n      },\n      \"patterns\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"type_params\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"infix\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parens\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"data_instance\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"data_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"newtype\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"data_type\",\n    \"named\": true,\n    \"fields\": {\n      \"constructors\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"data_constructors\",\n            \"named\": true\n          },\n          {\n            \"type\": \"gadt_constructors\",\n            \"named\": true\n          }\n        ]\n      },\n      \"context\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"context\",\n            \"named\": true\n          }\n        ]\n      },\n      \"deriving\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"deriving\",\n            \"named\": true\n          }\n        ]\n      },\n      \"forall\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"forall\",\n            \"named\": true\n          },\n          {\n            \"type\": \"forall_required\",\n            \"named\": true\n          }\n        ]\n      },\n      \"kind\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"quantified_type\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"qualified\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unit\",\n            \"named\": true\n          }\n        ]\n      },\n      \"patterns\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"type_params\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_patterns\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"infix\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parens\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"declarations\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"import\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"default_signature\",\n    \"named\": true,\n    \"fields\": {\n      \"signature\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"signature\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"default_types\",\n    \"named\": true,\n    \"fields\": {\n      \"type\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"quantified_type\",\n            \"named\": true\n          },\n          {\n            \"type\": \"signature\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"deriving\",\n    \"named\": true,\n    \"fields\": {\n      \"classes\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"constraint\",\n            \"named\": true\n          }\n        ]\n      },\n      \"strategy\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"deriving_strategy\",\n            \"named\": true\n          }\n        ]\n      },\n      \"via\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"via\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"deriving_instance\",\n    \"named\": true,\n    \"fields\": {\n      \"context\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"context\",\n            \"named\": true\n          }\n        ]\n      },\n      \"forall\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"forall\",\n            \"named\": true\n          },\n          {\n            \"type\": \"forall_required\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"qualified\",\n            \"named\": true\n          }\n        ]\n      },\n      \"patterns\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"type_patterns\",\n            \"named\": true\n          }\n        ]\n      },\n      \"strategy\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"deriving_strategy\",\n            \"named\": true\n          }\n        ]\n      },\n      \"via\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"via\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"infix\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parens\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"deriving_strategy\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"do\",\n    \"named\": true,\n    \"fields\": {\n      \"statement\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"statement\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"do_module\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"do_module\",\n    \"named\": true,\n    \"fields\": {\n      \"id\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"do\",\n            \"named\": false\n          },\n          {\n            \"type\": \"mdo\",\n            \"named\": false\n          }\n        ]\n      },\n      \"module\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"module\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"empty_list\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"entity\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"string\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"equation\",\n    \"named\": true,\n    \"fields\": {\n      \"constructors\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"constructor_synonyms\",\n            \"named\": true\n          }\n        ]\n      },\n      \"forall\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"forall\",\n            \"named\": true\n          },\n          {\n            \"type\": \"forall_required\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"qualified\",\n            \"named\": true\n          }\n        ]\n      },\n      \"pattern\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"pattern\",\n            \"named\": true\n          },\n          {\n            \"type\": \"signature\",\n            \"named\": true\n          }\n        ]\n      },\n      \"patterns\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"type_patterns\",\n            \"named\": true\n          }\n        ]\n      },\n      \"synonym\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"pattern\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"infix\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parens\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quantified_type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"equations\",\n    \"named\": true,\n    \"fields\": {\n      \"equation\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"equation\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"exp\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"signature\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"explicit_type\",\n    \"named\": true,\n    \"fields\": {\n      \"type\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"type\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"export\",\n    \"named\": true,\n    \"fields\": {\n      \"children\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"children\",\n            \"named\": true\n          }\n        ]\n      },\n      \"namespace\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"namespace\",\n            \"named\": true\n          }\n        ]\n      },\n      \"operator\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"prefix_id\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"qualified\",\n            \"named\": true\n          }\n        ]\n      },\n      \"variable\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"qualified\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"exports\",\n    \"named\": true,\n    \"fields\": {\n      \"export\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"export\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"module_export\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"field\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"field_name\",\n            \"named\": true\n          }\n        ]\n      },\n      \"parameter\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"lazy_field\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quantified_type\",\n            \"named\": true\n          },\n          {\n            \"type\": \"strict_field\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"lazy_field\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quantified_type\",\n            \"named\": true\n          },\n          {\n            \"type\": \"strict_field\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"field_name\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"variable\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"field_path\",\n    \"named\": true,\n    \"fields\": {\n      \"field\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"field_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"qualified\",\n            \"named\": true\n          }\n        ]\n      },\n      \"subfield\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"field_name\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"field_pattern\",\n    \"named\": true,\n    \"fields\": {\n      \"field\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"field_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"qualified\",\n            \"named\": true\n          }\n        ]\n      },\n      \"pattern\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"pattern\",\n            \"named\": true\n          },\n          {\n            \"type\": \"signature\",\n            \"named\": true\n          },\n          {\n            \"type\": \"view_pattern\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"wildcard\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"field_update\",\n    \"named\": true,\n    \"fields\": {\n      \"expression\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"signature\",\n            \"named\": true\n          }\n        ]\n      },\n      \"field\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"field_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"field_path\",\n            \"named\": true\n          },\n          {\n            \"type\": \"qualified\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"wildcard\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"fields\",\n    \"named\": true,\n    \"fields\": {\n      \"field\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"field\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"fixity\",\n    \"named\": true,\n    \"fields\": {\n      \"associativity\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"infix\",\n            \"named\": false\n          },\n          {\n            \"type\": \"infixl\",\n            \"named\": false\n          },\n          {\n            \"type\": \"infixr\",\n            \"named\": false\n          }\n        ]\n      },\n      \"operator\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \",\",\n            \"named\": false\n          },\n          {\n            \"type\": \"constructor_operator\",\n            \"named\": true\n          },\n          {\n            \"type\": \"infix_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"operator\",\n            \"named\": true\n          }\n        ]\n      },\n      \"precedence\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"integer\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"forall\",\n    \"named\": true,\n    \"fields\": {\n      \"constraint\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"constraints\",\n            \"named\": true\n          }\n        ]\n      },\n      \"quantifier\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"forall\",\n            \"named\": false\n          },\n          {\n            \"type\": \"\u{2200}\",\n            \"named\": false\n          }\n        ]\n      },\n      \"type\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"quantified_type\",\n            \"named\": true\n          }\n        ]\n      },\n      \"variables\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"quantified_variables\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"forall_required\",\n    \"named\": true,\n    \"fields\": {\n      \"quantifier\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"forall\",\n            \"named\": false\n          },\n          {\n            \"type\": \"\u{2200}\",\n            \"named\": false\n          }\n        ]\n      },\n      \"type\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"quantified_type\",\n            \"named\": true\n          }\n        ]\n      },\n      \"variables\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"quantified_variables\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"foreign_export\",\n    \"named\": true,\n    \"fields\": {\n      \"calling_convention\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"calling_convention\",\n            \"named\": true\n          }\n        ]\n      },\n      \"entity\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"entity\",\n            \"named\": true\n          }\n        ]\n      },\n      \"signature\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"signature\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"foreign_import\",\n    \"named\": true,\n    \"fields\": {\n      \"calling_convention\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"calling_convention\",\n            \"named\": true\n          }\n        ]\n      },\n      \"entity\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"entity\",\n            \"named\": true\n          }\n        ]\n      },\n      \"safety\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"safety\",\n            \"named\": true\n          }\n        ]\n      },\n      \"signature\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"signature\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"function\",\n    \"named\": true,\n    \"fields\": {\n      \"arrow\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"->\",\n            \"named\": false\n          },\n          {\n            \"type\": \"\u{2192}\",\n            \"named\": false\n          }\n        ]\n      },\n      \"binds\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"local_binds\",\n            \"named\": true\n          }\n        ]\n      },\n      \"match\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"match\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"prefix_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable\",\n            \"named\": true\n          }\n        ]\n      },\n      \"parameter\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"lazy_field\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quantified_type\",\n            \"named\": true\n          },\n          {\n            \"type\": \"strict_field\",\n            \"named\": true\n          }\n        ]\n      },\n      \"parens\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"function_head_parens\",\n            \"named\": true\n          }\n        ]\n      },\n      \"patterns\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"patterns\",\n            \"named\": true\n          }\n        ]\n      },\n      \"result\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"quantified_type\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"infix\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"function_head_parens\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"prefix_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable\",\n            \"named\": true\n          }\n        ]\n      },\n      \"parens\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"function_head_parens\",\n            \"named\": true\n          }\n        ]\n      },\n      \"patterns\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"patterns\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"infix\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"fundep\",\n    \"named\": true,\n    \"fields\": {\n      \"determined\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"variable\",\n            \"named\": true\n          }\n        ]\n      },\n      \"matched\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"variable\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"fundeps\",\n    \"named\": true,\n    \"fields\": {\n      \"fundep\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"fundep\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"gadt_constructor\",\n    \"named\": true,\n    \"fields\": {\n      \"context\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"context\",\n            \"named\": true\n          }\n        ]\n      },\n      \"forall\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"forall\",\n            \"named\": true\n          },\n          {\n            \"type\": \"forall_required\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"constructor\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_id\",\n            \"named\": true\n          }\n        ]\n      },\n      \"names\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"binding_list\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"prefix\",\n            \"named\": true\n          },\n          {\n            \"type\": \"record\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"gadt_constructors\",\n    \"named\": true,\n    \"fields\": {\n      \"constructor\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"gadt_constructor\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"generator\",\n    \"named\": true,\n    \"fields\": {\n      \"arrow\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"<-\",\n            \"named\": false\n          },\n          {\n            \"type\": \"\u{2190}\",\n            \"named\": false\n          }\n        ]\n      },\n      \"expression\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"signature\",\n            \"named\": true\n          }\n        ]\n      },\n      \"pattern\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"pattern\",\n            \"named\": true\n          },\n          {\n            \"type\": \"signature\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"group\",\n    \"named\": true,\n    \"fields\": {\n      \"classifier\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"signature\",\n            \"named\": true\n          }\n        ]\n      },\n      \"key\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"signature\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"guards\",\n    \"named\": true,\n    \"fields\": {\n      \"guard\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"guard\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"haskell\",\n    \"named\": true,\n    \"root\": true,\n    \"fields\": {\n      \"declarations\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"declarations\",\n            \"named\": true\n          }\n        ]\n      },\n      \"imports\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"imports\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"header\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"header\",\n    \"named\": true,\n    \"fields\": {\n      \"exports\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"exports\",\n            \"named\": true\n          }\n        ]\n      },\n      \"module\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"module\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"implicit_parameter\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"implicit_variable\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"quantified_type\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"import\",\n    \"named\": true,\n    \"fields\": {\n      \"alias\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"module\",\n            \"named\": true\n          }\n        ]\n      },\n      \"module\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"module\",\n            \"named\": true\n          }\n        ]\n      },\n      \"names\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"import_list\",\n            \"named\": true\n          }\n        ]\n      },\n      \"package\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"import_package\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"import_list\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"import_name\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"import_name\",\n    \"named\": true,\n    \"fields\": {\n      \"children\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"children\",\n            \"named\": true\n          }\n        ]\n      },\n      \"namespace\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"namespace\",\n            \"named\": true\n          }\n        ]\n      },\n      \"operator\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"prefix_id\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"qualified\",\n            \"named\": true\n          }\n        ]\n      },\n      \"variable\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"qualified\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"imports\",\n    \"named\": true,\n    \"fields\": {\n      \"import\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"import\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"inferred\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"annotated\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_param\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"infix\",\n    \"named\": true,\n    \"fields\": {\n      \"left_operand\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lazy_field\",\n            \"named\": true\n          },\n          {\n            \"type\": \"pattern\",\n            \"named\": true\n          },\n          {\n            \"type\": \"strict_field\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_param\",\n            \"named\": true\n          }\n        ]\n      },\n      \"operator\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"constructor_operator\",\n            \"named\": true\n          },\n          {\n            \"type\": \"infix_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"operator\",\n            \"named\": true\n          },\n          {\n            \"type\": \"promoted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"qualified\",\n            \"named\": true\n          }\n        ]\n      },\n      \"right_operand\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lazy_field\",\n            \"named\": true\n          },\n          {\n            \"type\": \"pattern\",\n            \"named\": true\n          },\n          {\n            \"type\": \"strict_field\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_param\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"infix_id\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constructor\",\n          \"named\": true\n        },\n        {\n          \"type\": \"name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"instance\",\n    \"named\": true,\n    \"fields\": {\n      \"context\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"context\",\n            \"named\": true\n          }\n        ]\n      },\n      \"declarations\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"instance_declarations\",\n            \"named\": true\n          }\n        ]\n      },\n      \"forall\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"forall\",\n            \"named\": true\n          },\n          {\n            \"type\": \"forall_required\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"qualified\",\n            \"named\": true\n          }\n        ]\n      },\n      \"patterns\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"type_patterns\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"infix\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parens\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"instance_declarations\",\n    \"named\": true,\n    \"fields\": {\n      \"declaration\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"instance_decl\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"integer\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"invisible\",\n    \"named\": true,\n    \"fields\": {\n      \"bind\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"type_param\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"irrefutable\",\n    \"named\": true,\n    \"fields\": {\n      \"pattern\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"pattern\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"kind_application\",\n    \"named\": true,\n    \"fields\": {\n      \"type\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"type\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"kind_signature\",\n    \"named\": true,\n    \"fields\": {\n      \"kind\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"quantified_type\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unit\",\n            \"named\": true\n          }\n        ]\n      },\n      \"patterns\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"type_params\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"infix\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parens\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"lambda\",\n    \"named\": true,\n    \"fields\": {\n      \"expression\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"signature\",\n            \"named\": true\n          }\n        ]\n      },\n      \"patterns\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"patterns\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"lambda_case\",\n    \"named\": true,\n    \"fields\": {\n      \"alternatives\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"alternatives\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"lambda_cases\",\n    \"named\": true,\n    \"fields\": {\n      \"alternatives\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"alternatives\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"lazy_field\",\n    \"named\": true,\n    \"fields\": {\n      \"type\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"type\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"left_section\",\n    \"named\": true,\n    \"fields\": {\n      \"left_operand\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"operator\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"constructor_operator\",\n            \"named\": true\n          },\n          {\n            \"type\": \"infix_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"operator\",\n            \"named\": true\n          },\n          {\n            \"type\": \"qualified\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"let\",\n    \"named\": true,\n    \"fields\": {\n      \"binds\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"local_binds\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"let_in\",\n    \"named\": true,\n    \"fields\": {\n      \"binds\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"local_binds\",\n            \"named\": true\n          }\n        ]\n      },\n      \"expression\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"signature\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"linear_function\",\n    \"named\": true,\n    \"fields\": {\n      \"arrow\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"->\",\n            \"named\": false\n          },\n          {\n            \"type\": \"->.\",\n            \"named\": false\n          },\n          {\n            \"type\": \"\u{2192}\",\n            \"named\": false\n          },\n          {\n            \"type\": \"\u{22b8}\",\n            \"named\": false\n          }\n        ]\n      },\n      \"multiplicity\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"modifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"parameter\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"lazy_field\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quantified_type\",\n            \"named\": true\n          },\n          {\n            \"type\": \"strict_field\",\n            \"named\": true\n          }\n        ]\n      },\n      \"result\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"quantified_type\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"list\",\n    \"named\": true,\n    \"fields\": {\n      \"element\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"pattern\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quantified_type\",\n            \"named\": true\n          },\n          {\n            \"type\": \"signature\",\n            \"named\": true\n          },\n          {\n            \"type\": \"view_pattern\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"list_comprehension\",\n    \"named\": true,\n    \"fields\": {\n      \"expression\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"signature\",\n            \"named\": true\n          }\n        ]\n      },\n      \"qualifiers\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"qualifiers\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"literal\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"char\",\n          \"named\": true\n        },\n        {\n          \"type\": \"float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"integer\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"local_binds\",\n    \"named\": true,\n    \"fields\": {\n      \"decl\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"decl\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fixity\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"match\",\n    \"named\": true,\n    \"fields\": {\n      \"expression\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"signature\",\n            \"named\": true\n          }\n        ]\n      },\n      \"guards\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"guards\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"modifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"module\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"module_id\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"module_export\",\n    \"named\": true,\n    \"fields\": {\n      \"module\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"module\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"multi_way_if\",\n    \"named\": true,\n    \"fields\": {\n      \"match\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"match\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"namespace\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"negation\",\n    \"named\": true,\n    \"fields\": {\n      \"expression\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"minus\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"-\",\n            \"named\": false\n          }\n        ]\n      },\n      \"number\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"float\",\n            \"named\": true\n          },\n          {\n            \"type\": \"integer\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"newtype\",\n    \"named\": true,\n    \"fields\": {\n      \"constructor\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"newtype_constructor\",\n            \"named\": true\n          }\n        ]\n      },\n      \"constructors\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"gadt_constructors\",\n            \"named\": true\n          }\n        ]\n      },\n      \"context\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"context\",\n            \"named\": true\n          }\n        ]\n      },\n      \"deriving\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"deriving\",\n            \"named\": true\n          }\n        ]\n      },\n      \"forall\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"forall\",\n            \"named\": true\n          },\n          {\n            \"type\": \"forall_required\",\n            \"named\": true\n          }\n        ]\n      },\n      \"kind\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"quantified_type\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"qualified\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unit\",\n            \"named\": true\n          }\n        ]\n      },\n      \"patterns\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"type_params\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_patterns\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"infix\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parens\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"newtype_constructor\",\n    \"named\": true,\n    \"fields\": {\n      \"field\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"field\",\n            \"named\": true\n          },\n          {\n            \"type\": \"record\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"constructor\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_id\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"operator\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"parens\",\n    \"named\": true,\n    \"fields\": {\n      \"expression\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"signature\",\n            \"named\": true\n          }\n        ]\n      },\n      \"kind\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"quantified_type\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"qualified\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unit\",\n            \"named\": true\n          }\n        ]\n      },\n      \"pattern\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"pattern\",\n            \"named\": true\n          },\n          {\n            \"type\": \"signature\",\n            \"named\": true\n          },\n          {\n            \"type\": \"view_pattern\",\n            \"named\": true\n          }\n        ]\n      },\n      \"patterns\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"type_params\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_patterns\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"quantified_type\",\n            \"named\": true\n          },\n          {\n            \"type\": \"signature\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"annotated\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constraints\",\n          \"named\": true\n        },\n        {\n          \"type\": \"infix\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_param\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"pattern_guard\",\n    \"named\": true,\n    \"fields\": {\n      \"arrow\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"<-\",\n            \"named\": false\n          },\n          {\n            \"type\": \"\u{2190}\",\n            \"named\": false\n          }\n        ]\n      },\n      \"expression\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"signature\",\n            \"named\": true\n          }\n        ]\n      },\n      \"pattern\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"pattern\",\n            \"named\": true\n          },\n          {\n            \"type\": \"signature\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"pattern_synonym\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"equation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"signature\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"patterns\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"explicit_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_binder\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"prefix\",\n    \"named\": true,\n    \"fields\": {\n      \"field\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"lazy_field\",\n            \"named\": true\n          },\n          {\n            \"type\": \"strict_field\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"constructor\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_id\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"quantified_type\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"prefix_id\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constructor_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"prefix_list\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"prefix_tuple\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"prefix_unboxed_sum\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"prefix_unboxed_tuple\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"projection\",\n    \"named\": true,\n    \"fields\": {\n      \"expression\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"field\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"field_name\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"projection_selector\",\n    \"named\": true,\n    \"fields\": {\n      \"field\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"variable\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"promoted\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constructor\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constructor_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"empty_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"infix_id\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"prefix_id\",\n          \"named\": true\n        },\n        {\n          \"type\": \"prefix_tuple\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"qualified\",\n    \"named\": true,\n    \"fields\": {\n      \"id\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"constructor\",\n            \"named\": true\n          },\n          {\n            \"type\": \"constructor_operator\",\n            \"named\": true\n          },\n          {\n            \"type\": \"field_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"operator\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable\",\n            \"named\": true\n          }\n        ]\n      },\n      \"module\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"module\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"qualifiers\",\n    \"named\": true,\n    \"fields\": {\n      \"qualifier\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"qualifier\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"quantified_variables\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"inferred\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_param\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"quasiquote\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"quasiquote_body\",\n            \"named\": true\n          }\n        ]\n      },\n      \"quoter\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"quoter\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"quote\",\n    \"named\": true,\n    \"fields\": {\n      \"quoter\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"d\",\n            \"named\": false\n          },\n          {\n            \"type\": \"e\",\n            \"named\": false\n          },\n          {\n            \"type\": \"p\",\n            \"named\": false\n          },\n          {\n            \"type\": \"t\",\n            \"named\": false\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"quoted_decls\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"quoted_decls\",\n    \"named\": true,\n    \"fields\": {\n      \"declaration\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"declaration\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"quoted_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"signature\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"quoted_pattern\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"signature\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"quoted_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"quantified_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"signature\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"quoter\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"qualified\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"rec\",\n    \"named\": true,\n    \"fields\": {\n      \"statement\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"statement\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"record\",\n    \"named\": true,\n    \"fields\": {\n      \"arrow\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"->\",\n            \"named\": false\n          },\n          {\n            \"type\": \"\u{2192}\",\n            \"named\": false\n          }\n        ]\n      },\n      \"constructor\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"pattern\",\n            \"named\": true\n          }\n        ]\n      },\n      \"expression\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"field\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"field\",\n            \"named\": true\n          },\n          {\n            \"type\": \"field_pattern\",\n            \"named\": true\n          },\n          {\n            \"type\": \"field_update\",\n            \"named\": true\n          }\n        ]\n      },\n      \"fields\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"fields\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"constructor\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"quantified_type\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"right_section\",\n    \"named\": true,\n    \"fields\": {\n      \"right_operand\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constructor_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"infix_id\",\n          \"named\": true\n        },\n        {\n          \"type\": \"operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"role_annotation\",\n    \"named\": true,\n    \"fields\": {\n      \"role\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"type_role\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"qualified\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"signature\",\n    \"named\": true,\n    \"fields\": {\n      \"constraint\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"constraints\",\n            \"named\": true\n          }\n        ]\n      },\n      \"expression\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"kind\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"quantified_type\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"prefix_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable\",\n            \"named\": true\n          }\n        ]\n      },\n      \"names\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"binding_list\",\n            \"named\": true\n          }\n        ]\n      },\n      \"pattern\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"pattern\",\n            \"named\": true\n          }\n        ]\n      },\n      \"synonym\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"binding_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"constructor\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_id\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"quantified_type\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"special\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"empty_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unboxed_sum\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unboxed_tuple\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unboxed_unit\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"splice\",\n    \"named\": true,\n    \"fields\": {\n      \"expression\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"constructor\",\n            \"named\": true\n          },\n          {\n            \"type\": \"implicit_variable\",\n            \"named\": true\n          },\n          {\n            \"type\": \"label\",\n            \"named\": true\n          },\n          {\n            \"type\": \"literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parens\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"qualified\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"star\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"strict\",\n    \"named\": true,\n    \"fields\": {\n      \"pattern\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"pattern\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"strict_field\",\n    \"named\": true,\n    \"fields\": {\n      \"type\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"type\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"th_quoted_name\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"constructor\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"qualified\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"type\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"top_splice\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"transform\",\n    \"named\": true,\n    \"fields\": {\n      \"key\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"signature\",\n            \"named\": true\n          }\n        ]\n      },\n      \"transformation\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"signature\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"tuple\",\n    \"named\": true,\n    \"fields\": {\n      \"element\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"pattern\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quantified_type\",\n            \"named\": true\n          },\n          {\n            \"type\": \"signature\",\n            \"named\": true\n          },\n          {\n            \"type\": \"view_pattern\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"constraints\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_application\",\n    \"named\": true,\n    \"fields\": {\n      \"type\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"type\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"type_binder\",\n    \"named\": true,\n    \"fields\": {\n      \"type\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"type\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"type_family\",\n    \"named\": true,\n    \"fields\": {\n      \"closed_family\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"abstract_family\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equations\",\n            \"named\": true\n          }\n        ]\n      },\n      \"kind\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"quantified_type\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unit\",\n            \"named\": true\n          }\n        ]\n      },\n      \"patterns\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"type_params\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"infix\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parens\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_family_injectivity\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_family_result\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_family_injectivity\",\n    \"named\": true,\n    \"fields\": {\n      \"determined\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"variable\",\n            \"named\": true\n          }\n        ]\n      },\n      \"result\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"variable\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"type_family_result\",\n    \"named\": true,\n    \"fields\": {\n      \"result\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"quantified_type\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"type_instance\",\n    \"named\": true,\n    \"fields\": {\n      \"forall\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"forall\",\n            \"named\": true\n          },\n          {\n            \"type\": \"forall_required\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"qualified\",\n            \"named\": true\n          }\n        ]\n      },\n      \"patterns\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"type_patterns\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"infix\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parens\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quantified_type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_params\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"type_param\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_patterns\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"kind_application\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_role\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"type_synomym\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_id\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unit\",\n            \"named\": true\n          }\n        ]\n      },\n      \"patterns\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"type_params\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"quantified_type\",\n            \"named\": true\n          },\n          {\n            \"type\": \"signature\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"infix\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parens\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"typed_quote\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"quoted_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"unboxed_sum\",\n    \"named\": true,\n    \"fields\": {\n      \"element\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"pattern\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quantified_type\",\n            \"named\": true\n          },\n          {\n            \"type\": \"signature\",\n            \"named\": true\n          },\n          {\n            \"type\": \"view_pattern\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"unboxed_tuple\",\n    \"named\": true,\n    \"fields\": {\n      \"element\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"pattern\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quantified_type\",\n            \"named\": true\n          },\n          {\n            \"type\": \"signature\",\n            \"named\": true\n          },\n          {\n            \"type\": \"view_pattern\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"unboxed_unit\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"unit\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"via\",\n    \"named\": true,\n    \"fields\": {\n      \"type\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"quantified_type\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"view_pattern\",\n    \"named\": true,\n    \"fields\": {\n      \"expression\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"signature\",\n            \"named\": true\n          }\n        ]\n      },\n      \"pattern\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"pattern\",\n            \"named\": true\n          },\n          {\n            \"type\": \"signature\",\n            \"named\": true\n          },\n          {\n            \"type\": \"view_pattern\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"wildcard\",\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\": \"$\",\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\": \"`\",\n    \"named\": false\n  },\n  {\n    \"type\": \"all_names\",\n    \"named\": true\n  },\n  {\n    \"type\": \"anyclass\",\n    \"named\": false\n  },\n  {\n    \"type\": \"as\",\n    \"named\": false\n  },\n  {\n    \"type\": \"by\",\n    \"named\": false\n  },\n  {\n    \"type\": \"calling_convention\",\n    \"named\": true\n  },\n  {\n    \"type\": \"case\",\n    \"named\": false\n  },\n  {\n    \"type\": \"cases\",\n    \"named\": false\n  },\n  {\n    \"type\": \"char\",\n    \"named\": true\n  },\n  {\n    \"type\": \"class\",\n    \"named\": false\n  },\n  {\n    \"type\": \"comment\",\n    \"named\": true\n  },\n  {\n    \"type\": \"constructor\",\n    \"named\": true\n  },\n  {\n    \"type\": \"cpp\",\n    \"named\": true\n  },\n  {\n    \"type\": \"d\",\n    \"named\": false\n  },\n  {\n    \"type\": \"data\",\n    \"named\": false\n  },\n  {\n    \"type\": \"default\",\n    \"named\": false\n  },\n  {\n    \"type\": \"deriving\",\n    \"named\": false\n  },\n  {\n    \"type\": \"do\",\n    \"named\": false\n  },\n  {\n    \"type\": \"e\",\n    \"named\": false\n  },\n  {\n    \"type\": \"else\",\n    \"named\": false\n  },\n  {\n    \"type\": \"export\",\n    \"named\": false\n  },\n  {\n    \"type\": \"family\",\n    \"named\": false\n  },\n  {\n    \"type\": \"float\",\n    \"named\": true\n  },\n  {\n    \"type\": \"forall\",\n    \"named\": false\n  },\n  {\n    \"type\": \"foreign\",\n    \"named\": false\n  },\n  {\n    \"type\": \"group\",\n    \"named\": false\n  },\n  {\n    \"type\": \"haddock\",\n    \"named\": true\n  },\n  {\n    \"type\": \"hiding\",\n    \"named\": false\n  },\n  {\n    \"type\": \"if\",\n    \"named\": false\n  },\n  {\n    \"type\": \"implicit_variable\",\n    \"named\": true\n  },\n  {\n    \"type\": \"import\",\n    \"named\": false\n  },\n  {\n    \"type\": \"import_package\",\n    \"named\": true\n  },\n  {\n    \"type\": \"in\",\n    \"named\": false\n  },\n  {\n    \"type\": \"infix\",\n    \"named\": false\n  },\n  {\n    \"type\": \"infixl\",\n    \"named\": false\n  },\n  {\n    \"type\": \"infixr\",\n    \"named\": false\n  },\n  {\n    \"type\": \"instance\",\n    \"named\": false\n  },\n  {\n    \"type\": \"label\",\n    \"named\": true\n  },\n  {\n    \"type\": \"let\",\n    \"named\": false\n  },\n  {\n    \"type\": \"mdo\",\n    \"named\": false\n  },\n  {\n    \"type\": \"module\",\n    \"named\": false\n  },\n  {\n    \"type\": \"module_id\",\n    \"named\": true\n  },\n  {\n    \"type\": \"name\",\n    \"named\": true\n  },\n  {\n    \"type\": \"newtype\",\n    \"named\": false\n  },\n  {\n    \"type\": \"nominal\",\n    \"named\": false\n  },\n  {\n    \"type\": \"of\",\n    \"named\": false\n  },\n  {\n    \"type\": \"p\",\n    \"named\": false\n  },\n  {\n    \"type\": \"pattern\",\n    \"named\": false\n  },\n  {\n    \"type\": \"phantom\",\n    \"named\": false\n  },\n  {\n    \"type\": \"pragma\",\n    \"named\": true\n  },\n  {\n    \"type\": \"qualified\",\n    \"named\": false\n  },\n  {\n    \"type\": \"quasiquote_body\",\n    \"named\": true\n  },\n  {\n    \"type\": \"rec\",\n    \"named\": false\n  },\n  {\n    \"type\": \"representational\",\n    \"named\": false\n  },\n  {\n    \"type\": \"role\",\n    \"named\": false\n  },\n  {\n    \"type\": \"safety\",\n    \"named\": true\n  },\n  {\n    \"type\": \"stock\",\n    \"named\": false\n  },\n  {\n    \"type\": \"string\",\n    \"named\": true\n  },\n  {\n    \"type\": \"t\",\n    \"named\": false\n  },\n  {\n    \"type\": \"then\",\n    \"named\": false\n  },\n  {\n    \"type\": \"type\",\n    \"named\": false\n  },\n  {\n    \"type\": \"using\",\n    \"named\": false\n  },\n  {\n    \"type\": \"variable\",\n    \"named\": true\n  },\n  {\n    \"type\": \"via\",\n    \"named\": false\n  },\n  {\n    \"type\": \"where\",\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\": \"\u{2190}\",\n    \"named\": false\n  },\n  {\n    \"type\": \"\u{2192}\",\n    \"named\": false\n  },\n  {\n    \"type\": \"\u{21d2}\",\n    \"named\": false\n  },\n  {\n    \"type\": \"\u{2200}\",\n    \"named\": false\n  },\n  {\n    \"type\": \"\u{2237}\",\n    \"named\": false\n  },\n  {\n    \"type\": \"\u{22b8}\",\n    \"named\": false\n  },\n  {\n    \"type\": \"\u{2605}\",\n    \"named\": false\n  },\n  {\n    \"type\": \"\u{27e6}\",\n    \"named\": false\n  },\n  {\n    \"type\": \"\u{27e7}\",\n    \"named\": false\n  }\n]";
Expand description

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