[
  {
    "type": "_arity_value",
    "named": true,
    "subtypes": [
      {
        "type": "integer",
        "named": true
      },
      {
        "type": "macro_call_expr",
        "named": true
      },
      {
        "type": "var",
        "named": true
      }
    ]
  },
  {
    "type": "_bit_expr",
    "named": true,
    "subtypes": [
      {
        "type": "_expr_max",
        "named": true
      },
      {
        "type": "binary_op_expr",
        "named": true
      },
      {
        "type": "unary_op_expr",
        "named": true
      }
    ]
  },
  {
    "type": "_bit_type",
    "named": true,
    "subtypes": [
      {
        "type": "_name",
        "named": true
      },
      {
        "type": "bit_type_unit",
        "named": true
      }
    ]
  },
  {
    "type": "_catch_pat",
    "named": true,
    "subtypes": [
      {
        "type": "_expr_max",
        "named": true
      },
      {
        "type": "binary_op_expr",
        "named": true
      },
      {
        "type": "map_expr",
        "named": true
      },
      {
        "type": "record_expr",
        "named": true
      },
      {
        "type": "record_index_expr",
        "named": true
      },
      {
        "type": "unary_op_expr",
        "named": true
      }
    ]
  },
  {
    "type": "_concatable",
    "named": true,
    "subtypes": [
      {
        "type": "macro_call_expr",
        "named": true
      },
      {
        "type": "macro_string",
        "named": true
      },
      {
        "type": "string",
        "named": true
      },
      {
        "type": "var",
        "named": true
      }
    ]
  },
  {
    "type": "_cr_clause_or_macro",
    "named": true,
    "subtypes": [
      {
        "type": "cr_clause",
        "named": true
      },
      {
        "type": "macro_call_expr",
        "named": true
      }
    ]
  },
  {
    "type": "_deprecated_details",
    "named": true,
    "subtypes": [
      {
        "type": "deprecated_fa",
        "named": true
      },
      {
        "type": "deprecated_fas",
        "named": true
      },
      {
        "type": "deprecated_module",
        "named": true
      }
    ]
  },
  {
    "type": "_deprecated_fun_arity",
    "named": true,
    "subtypes": [
      {
        "type": "deprecated_wildcard",
        "named": true
      },
      {
        "type": "integer",
        "named": true
      }
    ]
  },
  {
    "type": "_desc",
    "named": true,
    "subtypes": [
      {
        "type": "atom",
        "named": true
      },
      {
        "type": "multi_string",
        "named": true
      }
    ]
  },
  {
    "type": "_expr",
    "named": true,
    "subtypes": [
      {
        "type": "_expr_max",
        "named": true
      },
      {
        "type": "ann_type",
        "named": true
      },
      {
        "type": "binary_op_expr",
        "named": true
      },
      {
        "type": "call",
        "named": true
      },
      {
        "type": "catch_expr",
        "named": true
      },
      {
        "type": "cond_match_expr",
        "named": true
      },
      {
        "type": "dotdotdot",
        "named": true
      },
      {
        "type": "map_expr",
        "named": true
      },
      {
        "type": "map_expr_update",
        "named": true
      },
      {
        "type": "match_expr",
        "named": true
      },
      {
        "type": "pipe",
        "named": true
      },
      {
        "type": "range_type",
        "named": true
      },
      {
        "type": "record_expr",
        "named": true
      },
      {
        "type": "record_field_expr",
        "named": true
      },
      {
        "type": "record_index_expr",
        "named": true
      },
      {
        "type": "record_update_expr",
        "named": true
      },
      {
        "type": "remote",
        "named": true
      },
      {
        "type": "unary_op_expr",
        "named": true
      }
    ]
  },
  {
    "type": "_expr_max",
    "named": true,
    "subtypes": [
      {
        "type": "anonymous_fun",
        "named": true
      },
      {
        "type": "atom",
        "named": true
      },
      {
        "type": "binary",
        "named": true
      },
      {
        "type": "binary_comprehension",
        "named": true
      },
      {
        "type": "block_expr",
        "named": true
      },
      {
        "type": "case_expr",
        "named": true
      },
      {
        "type": "char",
        "named": true
      },
      {
        "type": "concatables",
        "named": true
      },
      {
        "type": "external_fun",
        "named": true
      },
      {
        "type": "float",
        "named": true
      },
      {
        "type": "fun_type",
        "named": true
      },
      {
        "type": "if_expr",
        "named": true
      },
      {
        "type": "integer",
        "named": true
      },
      {
        "type": "internal_fun",
        "named": true
      },
      {
        "type": "list",
        "named": true
      },
      {
        "type": "list_comprehension",
        "named": true
      },
      {
        "type": "macro_call_expr",
        "named": true
      },
      {
        "type": "macro_string",
        "named": true
      },
      {
        "type": "map_comprehension",
        "named": true
      },
      {
        "type": "maybe_expr",
        "named": true
      },
      {
        "type": "paren_expr",
        "named": true
      },
      {
        "type": "receive_expr",
        "named": true
      },
      {
        "type": "string",
        "named": true
      },
      {
        "type": "try_expr",
        "named": true
      },
      {
        "type": "tuple",
        "named": true
      },
      {
        "type": "var",
        "named": true
      }
    ]
  },
  {
    "type": "_form",
    "named": true,
    "subtypes": [
      {
        "type": "_preprocessor_directive",
        "named": true
      },
      {
        "type": "behaviour_attribute",
        "named": true
      },
      {
        "type": "callback",
        "named": true
      },
      {
        "type": "compile_options_attribute",
        "named": true
      },
      {
        "type": "deprecated_attribute",
        "named": true
      },
      {
        "type": "export_attribute",
        "named": true
      },
      {
        "type": "export_type_attribute",
        "named": true
      },
      {
        "type": "feature_attribute",
        "named": true
      },
      {
        "type": "file_attribute",
        "named": true
      },
      {
        "type": "fun_decl",
        "named": true
      },
      {
        "type": "import_attribute",
        "named": true
      },
      {
        "type": "module_attribute",
        "named": true
      },
      {
        "type": "nominal",
        "named": true
      },
      {
        "type": "opaque",
        "named": true
      },
      {
        "type": "optional_callbacks_attribute",
        "named": true
      },
      {
        "type": "record_decl",
        "named": true
      },
      {
        "type": "shebang",
        "named": true
      },
      {
        "type": "spec",
        "named": true
      },
      {
        "type": "ssr_definition",
        "named": true
      },
      {
        "type": "type_alias",
        "named": true
      },
      {
        "type": "wild_attribute",
        "named": true
      }
    ]
  },
  {
    "type": "_function_or_macro_clause",
    "named": true,
    "subtypes": [
      {
        "type": "function_clause",
        "named": true
      },
      {
        "type": "macro_call_expr",
        "named": true
      }
    ]
  },
  {
    "type": "_include_detail",
    "named": true,
    "subtypes": [
      {
        "type": "macro_call_expr",
        "named": true
      },
      {
        "type": "string",
        "named": true
      }
    ]
  },
  {
    "type": "_lc_expr",
    "named": true,
    "subtypes": [
      {
        "type": "_expr",
        "named": true
      },
      {
        "type": "b_generator",
        "named": true
      },
      {
        "type": "generator",
        "named": true
      },
      {
        "type": "map_generator",
        "named": true
      }
    ]
  },
  {
    "type": "_macro_def_replacement",
    "named": true,
    "subtypes": [
      {
        "type": "_expr",
        "named": true
      },
      {
        "type": "replacement_cr_clauses",
        "named": true
      },
      {
        "type": "replacement_expr_guard",
        "named": true
      },
      {
        "type": "replacement_function_clauses",
        "named": true
      },
      {
        "type": "replacement_guard_and",
        "named": true
      },
      {
        "type": "replacement_guard_or",
        "named": true
      },
      {
        "type": "replacement_parens",
        "named": true
      }
    ]
  },
  {
    "type": "_macro_name",
    "named": true,
    "subtypes": [
      {
        "type": "atom",
        "named": true
      },
      {
        "type": "var",
        "named": true
      }
    ]
  },
  {
    "type": "_map_expr_base",
    "named": true,
    "subtypes": [
      {
        "type": "_expr_max",
        "named": true
      },
      {
        "type": "map_expr",
        "named": true
      },
      {
        "type": "map_expr_update",
        "named": true
      }
    ]
  },
  {
    "type": "_name",
    "named": true,
    "subtypes": [
      {
        "type": "atom",
        "named": true
      },
      {
        "type": "macro_call_expr",
        "named": true
      },
      {
        "type": "var",
        "named": true
      }
    ]
  },
  {
    "type": "_preprocessor_directive",
    "named": true,
    "subtypes": [
      {
        "type": "pp_define",
        "named": true
      },
      {
        "type": "pp_elif",
        "named": true
      },
      {
        "type": "pp_else",
        "named": true
      },
      {
        "type": "pp_endif",
        "named": true
      },
      {
        "type": "pp_if",
        "named": true
      },
      {
        "type": "pp_ifdef",
        "named": true
      },
      {
        "type": "pp_ifndef",
        "named": true
      },
      {
        "type": "pp_include",
        "named": true
      },
      {
        "type": "pp_include_lib",
        "named": true
      },
      {
        "type": "pp_undef",
        "named": true
      }
    ]
  },
  {
    "type": "_record_expr_base",
    "named": true,
    "subtypes": [
      {
        "type": "_expr_max",
        "named": true
      },
      {
        "type": "record_expr",
        "named": true
      },
      {
        "type": "record_field_expr",
        "named": true
      },
      {
        "type": "record_index_expr",
        "named": true
      },
      {
        "type": "record_update_expr",
        "named": true
      }
    ]
  },
  {
    "type": "_string_like",
    "named": true,
    "subtypes": [
      {
        "type": "macro_call_expr",
        "named": true
      },
      {
        "type": "macro_string",
        "named": true
      },
      {
        "type": "string",
        "named": true
      }
    ]
  },
  {
    "type": "ann_type",
    "named": true,
    "fields": {
      "ty": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      },
      "var": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "ann_var",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "ann_var",
    "named": true,
    "fields": {
      "var": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "var",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "anonymous_fun",
    "named": true,
    "fields": {
      "clauses": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "fun_clause",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "arity",
    "named": true,
    "fields": {
      "value": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_arity_value",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "attr_name",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_name",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "b_generator",
    "named": true,
    "fields": {
      "lhs": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      },
      "rhs": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "behaviour_attribute",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_name",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "bin_element",
    "named": true,
    "fields": {
      "element": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_bit_expr",
            "named": true
          }
        ]
      },
      "size": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "bit_size_expr",
            "named": true
          }
        ]
      },
      "types": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "bit_type_list",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "binary",
    "named": true,
    "fields": {
      "elements": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "bin_element",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "binary_comprehension",
    "named": true,
    "fields": {
      "expr": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr_max",
            "named": true
          }
        ]
      },
      "lc_exprs": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "lc_exprs",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "binary_op_expr",
    "named": true,
    "fields": {
      "lhs": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_catch_pat",
            "named": true
          },
          {
            "type": "_expr",
            "named": true
          }
        ]
      },
      "rhs": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_catch_pat",
            "named": true
          },
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "bit_size_expr",
    "named": true,
    "fields": {
      "size": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_bit_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "bit_type_list",
    "named": true,
    "fields": {
      "types": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_bit_type",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "bit_type_unit",
    "named": true,
    "fields": {
      "size": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_arity_value",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "block_expr",
    "named": true,
    "fields": {
      "exprs": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "call",
    "named": true,
    "fields": {
      "args": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "expr_args",
            "named": true
          }
        ]
      },
      "expr": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "callback",
    "named": true,
    "fields": {
      "fun": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_name",
            "named": true
          }
        ]
      },
      "module": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "module",
            "named": true
          }
        ]
      },
      "sigs": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "type_sig",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "case_expr",
    "named": true,
    "fields": {
      "clauses": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "_cr_clause_or_macro",
            "named": true
          }
        ]
      },
      "expr": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "catch_clause",
    "named": true,
    "fields": {
      "body": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "clause_body",
            "named": true
          }
        ]
      },
      "class": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "try_class",
            "named": true
          }
        ]
      },
      "guard": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "guard",
            "named": true
          }
        ]
      },
      "pat": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_catch_pat",
            "named": true
          }
        ]
      },
      "stack": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "try_stack",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "catch_expr",
    "named": true,
    "fields": {
      "expr": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "clause_body",
    "named": true,
    "fields": {
      "exprs": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "compile_options_attribute",
    "named": true,
    "fields": {
      "options": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "concatables",
    "named": true,
    "fields": {
      "elems": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_concatable",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "cond_match_expr",
    "named": true,
    "fields": {
      "lhs": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      },
      "rhs": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "cr_clause",
    "named": true,
    "fields": {
      "body": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "clause_body",
            "named": true
          }
        ]
      },
      "guard": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "guard",
            "named": true
          }
        ]
      },
      "pat": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "deprecated_attribute",
    "named": true,
    "fields": {
      "attr": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_deprecated_details",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "deprecated_fa",
    "named": true,
    "fields": {
      "arity": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_deprecated_fun_arity",
            "named": true
          }
        ]
      },
      "desc": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "deprecation_desc",
            "named": true
          }
        ]
      },
      "fun": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "atom",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "deprecated_fas",
    "named": true,
    "fields": {
      "fa": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "deprecated_fa",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "deprecated_module",
    "named": true,
    "fields": {
      "module": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "atom",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "deprecation_desc",
    "named": true,
    "fields": {
      "desc": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_desc",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "export_attribute",
    "named": true,
    "fields": {
      "funs": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "fa",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "export_type_attribute",
    "named": true,
    "fields": {
      "types": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "fa",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "expr_args",
    "named": true,
    "fields": {
      "args": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "external_fun",
    "named": true,
    "fields": {
      "arity": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "arity",
            "named": true
          }
        ]
      },
      "fun": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_name",
            "named": true
          }
        ]
      },
      "module": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "module",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "fa",
    "named": true,
    "fields": {
      "arity": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "arity",
            "named": true
          }
        ]
      },
      "fun": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_name",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "feature_attribute",
    "named": true,
    "fields": {
      "feature": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      },
      "flag": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "field_expr",
    "named": true,
    "fields": {
      "expr": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "field_type",
    "named": true,
    "fields": {
      "expr": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "file_attribute",
    "named": true,
    "fields": {
      "original_file": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "string",
            "named": true
          }
        ]
      },
      "original_line": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "integer",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "fun_clause",
    "named": true,
    "fields": {
      "args": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "expr_args",
            "named": true
          }
        ]
      },
      "body": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "clause_body",
            "named": true
          }
        ]
      },
      "guard": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "guard",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "var",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "fun_decl",
    "named": true,
    "fields": {
      "clause": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_function_or_macro_clause",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "fun_type",
    "named": true,
    "fields": {
      "sig": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "fun_type_sig",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "fun_type_sig",
    "named": true,
    "fields": {
      "args": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "expr_args",
            "named": true
          }
        ]
      },
      "ty": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "function_clause",
    "named": true,
    "fields": {
      "args": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "expr_args",
            "named": true
          }
        ]
      },
      "body": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "clause_body",
            "named": true
          }
        ]
      },
      "guard": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "guard",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_name",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "generator",
    "named": true,
    "fields": {
      "lhs": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      },
      "rhs": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "guard",
    "named": true,
    "fields": {
      "clauses": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "guard_clause",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "guard_clause",
    "named": true,
    "fields": {
      "exprs": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "if_clause",
    "named": true,
    "fields": {
      "body": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "clause_body",
            "named": true
          }
        ]
      },
      "guard": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "guard",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "if_expr",
    "named": true,
    "fields": {
      "clauses": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "if_clause",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "import_attribute",
    "named": true,
    "fields": {
      "funs": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "fa",
            "named": true
          }
        ]
      },
      "module": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_name",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "internal_fun",
    "named": true,
    "fields": {
      "arity": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "arity",
            "named": true
          }
        ]
      },
      "fun": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_name",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "lc_exprs",
    "named": true,
    "fields": {
      "exprs": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "lc_or_zc_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "lc_or_zc_expr",
    "named": true,
    "fields": {
      "exprs": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_lc_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "list",
    "named": true,
    "fields": {
      "exprs": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "list_comprehension",
    "named": true,
    "fields": {
      "expr": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      },
      "lc_exprs": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "lc_exprs",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "macro_call_args",
    "named": true,
    "fields": {
      "args": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "macro_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "macro_call_expr",
    "named": true,
    "fields": {
      "args": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "macro_call_args",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_macro_name",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "macro_expr",
    "named": true,
    "fields": {
      "expr": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      },
      "guard": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "macro_lhs",
    "named": true,
    "fields": {
      "args": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "var_args",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_macro_name",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "macro_string",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_macro_name",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "map_comprehension",
    "named": true,
    "fields": {
      "expr": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "map_field",
            "named": true
          }
        ]
      },
      "lc_exprs": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "lc_exprs",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "map_expr",
    "named": true,
    "fields": {
      "fields": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "map_field",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "map_expr_update",
    "named": true,
    "fields": {
      "expr": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_map_expr_base",
            "named": true
          }
        ]
      },
      "fields": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "map_field",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "map_field",
    "named": true,
    "fields": {
      "key": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      },
      "value": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "map_generator",
    "named": true,
    "fields": {
      "lhs": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "map_field",
            "named": true
          }
        ]
      },
      "rhs": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "match_expr",
    "named": true,
    "fields": {
      "lhs": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      },
      "rhs": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "maybe_expr",
    "named": true,
    "fields": {
      "clauses": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "_cr_clause_or_macro",
            "named": true
          }
        ]
      },
      "exprs": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "module",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_name",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "module_attribute",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_name",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "multi_string",
    "named": true,
    "fields": {
      "elems": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_string_like",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "nominal",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "type_name",
            "named": true
          }
        ]
      },
      "ty": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "opaque",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "type_name",
            "named": true
          }
        ]
      },
      "ty": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "optional_callbacks_attribute",
    "named": true,
    "fields": {
      "callbacks": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "fa",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "paren_expr",
    "named": true,
    "fields": {
      "expr": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "pipe",
    "named": true,
    "fields": {
      "lhs": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      },
      "rhs": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "pp_define",
    "named": true,
    "fields": {
      "lhs": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "macro_lhs",
            "named": true
          }
        ]
      },
      "replacement": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "_macro_def_replacement",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "pp_elif",
    "named": true,
    "fields": {
      "cond": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "pp_else",
    "named": true,
    "fields": {}
  },
  {
    "type": "pp_endif",
    "named": true,
    "fields": {}
  },
  {
    "type": "pp_if",
    "named": true,
    "fields": {
      "cond": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "pp_ifdef",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_macro_name",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "pp_ifndef",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_macro_name",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "pp_include",
    "named": true,
    "fields": {
      "file": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_include_detail",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "pp_include_lib",
    "named": true,
    "fields": {
      "file": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_include_detail",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "pp_undef",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_macro_name",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "range_type",
    "named": true,
    "fields": {
      "lhs": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      },
      "rhs": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "receive_after",
    "named": true,
    "fields": {
      "body": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "clause_body",
            "named": true
          }
        ]
      },
      "expr": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "receive_expr",
    "named": true,
    "fields": {
      "after": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "receive_after",
            "named": true
          }
        ]
      },
      "clauses": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "_cr_clause_or_macro",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "record_decl",
    "named": true,
    "fields": {
      "fields": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "record_field",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_name",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "record_expr",
    "named": true,
    "fields": {
      "fields": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "record_field",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "record_name",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "record_field",
    "named": true,
    "fields": {
      "expr": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "field_expr",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_name",
            "named": true
          }
        ]
      },
      "ty": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "field_type",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "record_field_expr",
    "named": true,
    "fields": {
      "expr": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_record_expr_base",
            "named": true
          }
        ]
      },
      "field": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "record_field_name",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "record_name",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "record_field_name",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_name",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "record_index_expr",
    "named": true,
    "fields": {
      "field": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "record_field_name",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "record_name",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "record_name",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_name",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "record_update_expr",
    "named": true,
    "fields": {
      "expr": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_record_expr_base",
            "named": true
          }
        ]
      },
      "fields": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "record_field",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "record_name",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "remote",
    "named": true,
    "fields": {
      "fun": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr_max",
            "named": true
          }
        ]
      },
      "module": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "remote_module",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "remote_module",
    "named": true,
    "fields": {
      "module": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr_max",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "replacement_cr_clauses",
    "named": true,
    "fields": {
      "clauses": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_cr_clause_or_macro",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "replacement_expr_guard",
    "named": true,
    "fields": {
      "expr": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      },
      "guard": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "guard",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "replacement_function_clauses",
    "named": true,
    "fields": {
      "clauses": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_function_or_macro_clause",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "replacement_guard_and",
    "named": true,
    "fields": {
      "guard": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "replacement_guard_or",
    "named": true,
    "fields": {
      "guard": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "replacement_guard_and",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "replacement_parens",
    "named": true,
    "fields": {}
  },
  {
    "type": "source_file",
    "named": true,
    "root": true,
    "fields": {
      "exprs": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": ".",
            "named": false
          },
          {
            "type": "_expr",
            "named": true
          }
        ]
      },
      "forms_only": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "_form",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "spec",
    "named": true,
    "fields": {
      "fun": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_name",
            "named": true
          }
        ]
      },
      "module": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "module",
            "named": true
          }
        ]
      },
      "sigs": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "type_sig",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "ssr_definition",
    "named": true,
    "fields": {
      "lhs": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      },
      "rhs": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "ssr_replacement",
            "named": true
          }
        ]
      },
      "when": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "ssr_when",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "ssr_replacement",
    "named": true,
    "fields": {
      "expr": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "ssr_when",
    "named": true,
    "fields": {
      "guard": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "guard",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "string",
    "named": true,
    "fields": {}
  },
  {
    "type": "try_after",
    "named": true,
    "fields": {
      "exprs": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "try_class",
    "named": true,
    "fields": {
      "class": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_name",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "try_expr",
    "named": true,
    "fields": {
      "after": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "try_after",
            "named": true
          }
        ]
      },
      "catch": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "catch_clause",
            "named": true
          }
        ]
      },
      "clauses": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "_cr_clause_or_macro",
            "named": true
          }
        ]
      },
      "exprs": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "try_stack",
    "named": true,
    "fields": {
      "class": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "var",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "tuple",
    "named": true,
    "fields": {
      "expr": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "type_alias",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "type_name",
            "named": true
          }
        ]
      },
      "ty": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "type_guards",
    "named": true,
    "fields": {
      "guards": {
        "multiple": true,
        "required": true,
        "types": [
          {
            "type": "ann_type",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "type_name",
    "named": true,
    "fields": {
      "args": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "var_args",
            "named": true
          }
        ]
      },
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_name",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "type_sig",
    "named": true,
    "fields": {
      "args": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "expr_args",
            "named": true
          }
        ]
      },
      "guard": {
        "multiple": false,
        "required": false,
        "types": [
          {
            "type": "type_guards",
            "named": true
          }
        ]
      },
      "ty": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "unary_op_expr",
    "named": true,
    "fields": {
      "operand": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "var_args",
    "named": true,
    "fields": {
      "args": {
        "multiple": true,
        "required": false,
        "types": [
          {
            "type": "var",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "wild_attribute",
    "named": true,
    "fields": {
      "name": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "attr_name",
            "named": true
          }
        ]
      },
      "value": {
        "multiple": false,
        "required": true,
        "types": [
          {
            "type": "_expr",
            "named": true
          }
        ]
      }
    }
  },
  {
    "type": "!",
    "named": false
  },
  {
    "type": "#",
    "named": false
  },
  {
    "type": "&&",
    "named": false
  },
  {
    "type": "(",
    "named": false
  },
  {
    "type": ")",
    "named": false
  },
  {
    "type": "*",
    "named": false
  },
  {
    "type": "+",
    "named": false
  },
  {
    "type": "++",
    "named": false
  },
  {
    "type": ",",
    "named": false
  },
  {
    "type": "-",
    "named": false
  },
  {
    "type": "--",
    "named": false
  },
  {
    "type": "->",
    "named": false
  },
  {
    "type": ".",
    "named": false
  },
  {
    "type": "..",
    "named": false
  },
  {
    "type": "/",
    "named": false
  },
  {
    "type": "/=",
    "named": false
  },
  {
    "type": ":",
    "named": false
  },
  {
    "type": "::",
    "named": false
  },
  {
    "type": ":=",
    "named": false
  },
  {
    "type": ";",
    "named": false
  },
  {
    "type": "<",
    "named": false
  },
  {
    "type": "<-",
    "named": false
  },
  {
    "type": "<:-",
    "named": false
  },
  {
    "type": "<:=",
    "named": false
  },
  {
    "type": "<<",
    "named": false
  },
  {
    "type": "<=",
    "named": false
  },
  {
    "type": "=",
    "named": false
  },
  {
    "type": "=/=",
    "named": false
  },
  {
    "type": "=:=",
    "named": false
  },
  {
    "type": "=<",
    "named": false
  },
  {
    "type": "==",
    "named": false
  },
  {
    "type": "==>>",
    "named": false
  },
  {
    "type": "=>",
    "named": false
  },
  {
    "type": ">",
    "named": false
  },
  {
    "type": ">=",
    "named": false
  },
  {
    "type": ">>",
    "named": false
  },
  {
    "type": "?",
    "named": false
  },
  {
    "type": "?=",
    "named": false
  },
  {
    "type": "[",
    "named": false
  },
  {
    "type": "]",
    "named": false
  },
  {
    "type": "after",
    "named": false
  },
  {
    "type": "and",
    "named": false
  },
  {
    "type": "andalso",
    "named": false
  },
  {
    "type": "atom",
    "named": true
  },
  {
    "type": "band",
    "named": false
  },
  {
    "type": "begin",
    "named": false
  },
  {
    "type": "behavior",
    "named": false
  },
  {
    "type": "behaviour",
    "named": false
  },
  {
    "type": "bnot",
    "named": false
  },
  {
    "type": "bor",
    "named": false
  },
  {
    "type": "bsl",
    "named": false
  },
  {
    "type": "bsr",
    "named": false
  },
  {
    "type": "bxor",
    "named": false
  },
  {
    "type": "callback",
    "named": false
  },
  {
    "type": "case",
    "named": false
  },
  {
    "type": "catch",
    "named": false
  },
  {
    "type": "char",
    "named": true
  },
  {
    "type": "comment",
    "named": true,
    "extra": true
  },
  {
    "type": "compile",
    "named": false
  },
  {
    "type": "define",
    "named": false
  },
  {
    "type": "deprecated",
    "named": false
  },
  {
    "type": "deprecated_wildcard",
    "named": true
  },
  {
    "type": "div",
    "named": false
  },
  {
    "type": "dotdotdot",
    "named": true
  },
  {
    "type": "elif",
    "named": false
  },
  {
    "type": "else",
    "named": false
  },
  {
    "type": "end",
    "named": false
  },
  {
    "type": "endif",
    "named": false
  },
  {
    "type": "export",
    "named": false
  },
  {
    "type": "export_type",
    "named": false
  },
  {
    "type": "feature",
    "named": false
  },
  {
    "type": "file",
    "named": false
  },
  {
    "type": "float",
    "named": true
  },
  {
    "type": "fun",
    "named": false
  },
  {
    "type": "if",
    "named": false
  },
  {
    "type": "ifdef",
    "named": false
  },
  {
    "type": "ifndef",
    "named": false
  },
  {
    "type": "import",
    "named": false
  },
  {
    "type": "include",
    "named": false
  },
  {
    "type": "include_lib",
    "named": false
  },
  {
    "type": "integer",
    "named": true
  },
  {
    "type": "maybe",
    "named": false
  },
  {
    "type": "module",
    "named": false
  },
  {
    "type": "nominal",
    "named": false
  },
  {
    "type": "not",
    "named": false
  },
  {
    "type": "of",
    "named": false
  },
  {
    "type": "opaque",
    "named": false
  },
  {
    "type": "optional_callbacks",
    "named": false
  },
  {
    "type": "or",
    "named": false
  },
  {
    "type": "orelse",
    "named": false
  },
  {
    "type": "receive",
    "named": false
  },
  {
    "type": "record",
    "named": false
  },
  {
    "type": "rem",
    "named": false
  },
  {
    "type": "shebang",
    "named": true
  },
  {
    "type": "spec",
    "named": false
  },
  {
    "type": "ssr",
    "named": false
  },
  {
    "type": "try",
    "named": false
  },
  {
    "type": "type",
    "named": false
  },
  {
    "type": "undef",
    "named": false
  },
  {
    "type": "unit",
    "named": false
  },
  {
    "type": "var",
    "named": true
  },
  {
    "type": "when",
    "named": false
  },
  {
    "type": "xor",
    "named": false
  },
  {
    "type": "{",
    "named": false
  },
  {
    "type": "|",
    "named": false
  },
  {
    "type": "||",
    "named": false
  },
  {
    "type": "}",
    "named": false
  }
]