[{ s =
   (DefStmt
      ({ name =
         (EN
            (Id (("C", _),
               { id_resolved = ref (None);
                 id_resolved_alternatives = ref ([]); id_type = ref (None);
                 id_svalue = ref (Unknown); id_flags = ref (0);
                 id_info_id = _ }
               )));
         attrs = []; tparams = None },
       (ClassDef
          { ckind = (Class, _); cextends = []; cimplements = [];
            cmixins = []; cparams = (_, [], _);
            cbody =
            (_,
             [(F
                 { s =
                   (DefStmt
                      ({ name =
                         (EN
                            (Id (("x", _),
                               { id_resolved = ref ((Some (EnclosedVar, _)));
                                 id_resolved_alternatives = ref ([]);
                                 id_type = ref (None);
                                 id_svalue = ref (Unknown);
                                 id_flags = ref (4); id_info_id = _ }
                               )));
                         attrs = [(KeywordAttr (Const, _))]; tparams = None },
                       (VarDef
                          { vinit =
                            (Some { e =
                                    (StmtExpr
                                       { s =
                                         (Switch (_,
                                            (Some (Cond
                                                     { e =
                                                       (N
                                                          (Id (("foo", _),
                                                             { id_resolved =
                                                               ref (None);
                                                               id_resolved_alternatives =
                                                               ref ([]);
                                                               id_type =
                                                               ref (None);
                                                               id_svalue =
                                                               ref (Unknown);
                                                               id_flags =
                                                               ref (0);
                                                               id_info_id = _
                                                               }
                                                             )));
                                                       e_id = 0;
                                                       e_range = None;
                                                       is_implicit_return =
                                                       false;
                                                       facts = <opaque> })),
                                            [(CasesAndBody
                                                ([(Case (_,
                                                     (PatConstructor (
                                                        (Id (("Foo", _),
                                                           { id_resolved =
                                                             ref (None);
                                                             id_resolved_alternatives =
                                                             ref ([]);
                                                             id_type =
                                                             ref (None);
                                                             id_svalue =
                                                             ref (Unknown);
                                                             id_flags =
                                                             ref (0);
                                                             id_info_id = _ }
                                                           )),
                                                        [(PatTyped (
                                                            (PatId ((
                                                               "x", _),
                                                               { id_resolved =
                                                                 ref ((Some (
                                                                 EnclosedVar,
                                                                 _)));
                                                                 id_resolved_alternatives =
                                                                 ref (
                                                                 []);
                                                                 id_type =
                                                                 ref ((Some 
                                                                 { t =
                                                                   (TyN
                                                                    (Id (
                                                                    ("A", _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref (None);
                                                                    id_svalue =
                                                                    ref (Unknown);
                                                                    id_flags =
                                                                    ref (0);
                                                                    id_info_id =
                                                                    _ })));
                                                                   t_attrs =
                                                                   [] }));
                                                                 id_svalue =
                                                                 ref (Unknown);
                                                                 id_flags =
                                                                 ref (0);
                                                                 id_info_id =
                                                                 _ }
                                                               )),
                                                            { t =
                                                              (TyN
                                                                 (Id (
                                                                    (
                                                                    "A", _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref (None);
                                                                    id_svalue =
                                                                    ref (Unknown);
                                                                    id_flags =
                                                                    ref (0);
                                                                    id_info_id =
                                                                    _ })));
                                                              t_attrs = [] }
                                                            ))
                                                          ]
                                                        ))
                                                     ))
                                                   ],
                                                 { s =
                                                   (Block
                                                      (_,
                                                       [{ s =
                                                          (ExprStmt (
                                                             { e =
                                                               (N
                                                                  (Id (
                                                                    ("e1", _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref (None);
                                                                    id_svalue =
                                                                    ref (Unknown);
                                                                    id_flags =
                                                                    ref (0);
                                                                    id_info_id =
                                                                    _ })));
                                                               e_id = 0;
                                                               e_range = None;
                                                               is_implicit_return =
                                                               false;
                                                               facts =
                                                               <opaque> },
                                                             _));
                                                          s_range = None }
                                                         ],
                                                       _));
                                                   s_range = None }));
                                              (CasesAndBody
                                                 ([(Case (_,
                                                      (PatConstructor (
                                                         (Id (("Bar", _),
                                                            { id_resolved =
                                                              ref (None);
                                                              id_resolved_alternatives =
                                                              ref ([]);
                                                              id_type =
                                                              ref (None);
                                                              id_svalue =
                                                              ref (Unknown);
                                                              id_flags =
                                                              ref (0);
                                                              id_info_id = _
                                                              }
                                                            )),
                                                         [(PatTyped (
                                                             (PatId (
                                                                ("y", _),
                                                                { id_resolved =
                                                                  ref ((Some (
                                                                  EnclosedVar,
                                                                  _)));
                                                                  id_resolved_alternatives =
                                                                  ref (
                                                                  []);
                                                                  id_type =
                                                                  ref ((Some 
                                                                  { t =
                                                                    (
                                                                    TyN
                                                                    (Id (
                                                                    ("B", _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref (None);
                                                                    id_svalue =
                                                                    ref (Unknown);
                                                                    id_flags =
                                                                    ref (0);
                                                                    id_info_id =
                                                                    _ })));
                                                                    t_attrs =
                                                                    [] }));
                                                                  id_svalue =
                                                                  ref (Unknown);
                                                                  id_flags =
                                                                  ref (0);
                                                                  id_info_id =
                                                                  _ }
                                                                )),
                                                             { t =
                                                               (TyN
                                                                  (Id (
                                                                    ("B", _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref (None);
                                                                    id_svalue =
                                                                    ref (Unknown);
                                                                    id_flags =
                                                                    ref (0);
                                                                    id_info_id =
                                                                    _ })));
                                                               t_attrs = [] }
                                                             ))
                                                           ]
                                                         ))
                                                      ))
                                                    ],
                                                  { s =
                                                    (Block
                                                       (_,
                                                        [{ s =
                                                           (ExprStmt (
                                                              { e =
                                                                (N
                                                                   (Id (
                                                                    ("e2", _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref (None);
                                                                    id_svalue =
                                                                    ref (Unknown);
                                                                    id_flags =
                                                                    ref (0);
                                                                    id_info_id =
                                                                    _ })));
                                                                e_id = 0;
                                                                e_range =
                                                                None;
                                                                is_implicit_return =
                                                                false;
                                                                facts =
                                                                <opaque> },
                                                              _));
                                                           s_range = None }
                                                          ],
                                                        _));
                                                    s_range = None }))
                                              ]
                                            ));
                                         s_range = None });
                                    e_id = 0; e_range = None;
                                    is_implicit_return = false;
                                    facts = <opaque> });
                            vtype = None; vtok = None })));
                   s_range = None })
               ],
             _)
            })));
   s_range = None }
  ]