[{ s =
   (DefStmt
      ({ name =
         (EN
            (Id (("x", _),
               { id_resolved = ref ((Some (Global, _)));
                 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 =
                         (If (_,
                            (Cond
                               { e = (L (Bool (true, _))); e_id = 0;
                                 e_range = None; is_implicit_return = false;
                                 facts = <opaque> }),
                            { s =
                              (ExprStmt (
                                 { e = (L (Int ((Some 1L), _))); e_id = 0;
                                   e_range = None;
                                   is_implicit_return = false;
                                   facts = <opaque> },
                                 _));
                              s_range = None },
                            (Some { s =
                                    (ExprStmt (
                                       { e = (L (Int ((Some 3L), _)));
                                         e_id = 0; e_range = None;
                                         is_implicit_return = false;
                                         facts = <opaque> },
                                       _));
                                    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 =
    (DefStmt
       ({ name =
          (EN
             (Id (("y", _),
                { id_resolved = ref ((Some (Global, _)));
                  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 =
                          (If (_,
                             (Cond
                                { e = (L (Bool (true, _))); e_id = 0;
                                  e_range = None; is_implicit_return = false;
                                  facts = <opaque> }),
                             { s =
                               (Block
                                  (_,
                                   [{ s =
                                      (ExprStmt (
                                         { e = (L (Int ((Some 4L), _)));
                                           e_id = 0; e_range = None;
                                           is_implicit_return = false;
                                           facts = <opaque> },
                                         _));
                                      s_range = None }
                                     ],
                                   _));
                               s_range = None },
                             (Some { s =
                                     (Block
                                        (_,
                                         [{ s =
                                            (ExprStmt (
                                               { e = (L (Int ((Some 5L), _)));
                                                 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 =
    (DefStmt
       ({ name =
          (EN
             (Id (("x", _),
                { id_resolved = ref ((Some (Global, _)));
                  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 =
                          (If (_,
                             (Cond
                                { e = (L (Bool (true, _))); e_id = 0;
                                  e_range = None; is_implicit_return = false;
                                  facts = <opaque> }),
                             { s =
                               (ExprStmt (
                                  { e = (L (Int ((Some 1L), _))); e_id = 0;
                                    e_range = None;
                                    is_implicit_return = false;
                                    facts = <opaque> },
                                  _));
                               s_range = None },
                             (Some { s =
                                     (ExprStmt (
                                        { e = (L (Int ((Some 3L), _)));
                                          e_id = 0; e_range = None;
                                          is_implicit_return = false;
                                          facts = <opaque> },
                                        _));
                                     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 =
    (DefStmt
       ({ name =
          (EN
             (Id (("x", _),
                { id_resolved = ref ((Some (Global, _)));
                  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 =
                          (If (_,
                             (Cond
                                { e = (L (Bool (true, _))); e_id = 0;
                                  e_range = None; is_implicit_return = false;
                                  facts = <opaque> }),
                             { s =
                               (Block
                                  (_,
                                   [{ s =
                                      (ExprStmt (
                                         { e =
                                           (Call (
                                              { e =
                                                (DotAccess (
                                                   { e =
                                                     (L (Int ((Some 1L), _)));
                                                     e_id = 0;
                                                     e_range = None;
                                                     is_implicit_return =
                                                     false; facts = <opaque>
                                                     },
                                                   _,
                                                   (FN
                                                      (Id (("else", _),
                                                         { id_resolved =
                                                           ref (None);
                                                           id_resolved_alternatives =
                                                           ref ([]);
                                                           id_type =
                                                           ref ((Some 
                                                           { t =
                                                             (TyFun (
                                                                [(OtherParam (
                                                                    (
                                                                    "TODO", _),
                                                                    []))
                                                                  ],
                                                                { t =
                                                                  (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                  t_attrs =
                                                                  [] }
                                                                ));
                                                             t_attrs = [] }));
                                                           id_svalue =
                                                           ref (Unknown);
                                                           id_flags = ref (0);
                                                           id_info_id = _ }
                                                         )))
                                                   ));
                                                e_id = 0; e_range = None;
                                                is_implicit_return = false;
                                                facts = <opaque> },
                                              (_,
                                               [(Arg
                                                   { e =
                                                     (L (Int ((Some 3L), _)));
                                                     e_id = 0;
                                                     e_range = None;
                                                     is_implicit_return =
                                                     false; facts = <opaque>
                                                     })
                                                 ],
                                               _)
                                              ));
                                           e_id = 0; e_range = None;
                                           is_implicit_return = false;
                                           facts = <opaque> },
                                         _));
                                      s_range = None }
                                     ],
                                   _));
                               s_range = None },
                             None));
                          s_range = None });
                     e_id = 0; e_range = None; is_implicit_return = false;
                     facts = <opaque> });
             vtype = None; vtok = None })));
    s_range = None };
  { s =
    (DefStmt
       ({ name =
          (EN
             (Id (("x", _),
                { id_resolved = ref ((Some (Global, _)));
                  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 =
                          (If (_,
                             (Cond
                                { e = (L (Bool (true, _))); e_id = 0;
                                  e_range = None; is_implicit_return = false;
                                  facts = <opaque> }),
                             { s =
                               (Block
                                  (_,
                                   [{ s =
                                      (ExprStmt (
                                         { e = (L (Int ((Some 1L), _)));
                                           e_id = 0; e_range = None;
                                           is_implicit_return = false;
                                           facts = <opaque> },
                                         _));
                                      s_range = None }
                                     ],
                                   _));
                               s_range = None },
                             (Some { s =
                                     (ExprStmt (
                                        { e = (L (Int ((Some 3L), _)));
                                          e_id = 0; e_range = None;
                                          is_implicit_return = false;
                                          facts = <opaque> },
                                        _));
                                     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 =
    (DefStmt
       ({ name =
          (EN
             (Id (("x", _),
                { id_resolved = ref ((Some (Global, _)));
                  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 =
                          (If (_,
                             (Cond
                                { e = (L (Bool (true, _))); e_id = 0;
                                  e_range = None; is_implicit_return = false;
                                  facts = <opaque> }),
                             { s =
                               (Block
                                  (_,
                                   [{ s =
                                      (ExprStmt (
                                         { e = (L (Int ((Some 1L), _)));
                                           e_id = 0; e_range = None;
                                           is_implicit_return = false;
                                           facts = <opaque> },
                                         _));
                                      s_range = None }
                                     ],
                                   _));
                               s_range = None },
                             (Some { s =
                                     (Block
                                        (_,
                                         [{ s =
                                            (ExprStmt (
                                               { e = (L (Int ((Some 3L), _)));
                                                 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 =
    (DefStmt
       ({ name =
          (EN
             (Id (("x", _),
                { id_resolved = ref ((Some (Global, _)));
                  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 =
                          (If (_,
                             (Cond
                                { e = (L (Bool (true, _))); e_id = 0;
                                  e_range = None; is_implicit_return = false;
                                  facts = <opaque> }),
                             { s =
                               (Block
                                  (_,
                                   [{ s =
                                      (DefStmt
                                         ({ name =
                                            (EN
                                               (Id (("x", _),
                                                  { id_resolved =
                                                    ref ((Some (Global, _)));
                                                    id_resolved_alternatives =
                                                    ref ([]);
                                                    id_type =
                                                    ref ((Some { t =
                                                                 (TyN
                                                                    (
                                                                    Id (
                                                                    ("int", _),
                                                                    { 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 (4);
                                                    id_info_id = _ }
                                                  )));
                                            attrs =
                                            [(KeywordAttr (Const, _))];
                                            tparams = None },
                                          (VarDef
                                             { vinit =
                                               (Some { e =
                                                       (L
                                                          (Int ((Some 2L), _)));
                                                       e_id = 0;
                                                       e_range = None;
                                                       is_implicit_return =
                                                       false;
                                                       facts = <opaque> });
                                               vtype = None; vtok = None })));
                                      s_range = None };
                                     { s =
                                       (DefStmt
                                          ({ name =
                                             (EN
                                                (Id (("y", _),
                                                   { id_resolved =
                                                     ref ((Some (Global, _)));
                                                     id_resolved_alternatives =
                                                     ref ([]);
                                                     id_type =
                                                     ref ((Some { t =
                                                                  (TyN
                                                                    (Id (
                                                                    ("int", _),
                                                                    { 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 (4);
                                                     id_info_id = _ }
                                                   )));
                                             attrs =
                                             [(KeywordAttr (Const, _))];
                                             tparams = None },
                                           (VarDef
                                              { vinit =
                                                (Some { e =
                                                        (L
                                                           (Int
                                                              ((Some 3L), _)));
                                                        e_id = 0;
                                                        e_range = None;
                                                        is_implicit_return =
                                                        false;
                                                        facts = <opaque> });
                                                vtype = None; vtok = None })));
                                       s_range = None }
                                     ],
                                   _));
                               s_range = None },
                             (Some { s =
                                     (ExprStmt (
                                        { e = (L (Int ((Some 3L), _)));
                                          e_id = 0; e_range = None;
                                          is_implicit_return = false;
                                          facts = <opaque> },
                                        _));
                                     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 =
    (DefStmt
       ({ name =
          (EN
             (Id (("x", _),
                { id_resolved = ref ((Some (Global, _)));
                  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 =
                          (If (_,
                             (Cond
                                { e = (L (Bool (true, _))); e_id = 0;
                                  e_range = None; is_implicit_return = false;
                                  facts = <opaque> }),
                             { s =
                               (Block
                                  (_,
                                   [{ s =
                                      (DefStmt
                                         ({ name =
                                            (EN
                                               (Id (("x", _),
                                                  { id_resolved =
                                                    ref ((Some (Global, _)));
                                                    id_resolved_alternatives =
                                                    ref ([]);
                                                    id_type =
                                                    ref ((Some { t =
                                                                 (TyN
                                                                    (
                                                                    Id (
                                                                    ("int", _),
                                                                    { 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 (4);
                                                    id_info_id = _ }
                                                  )));
                                            attrs =
                                            [(KeywordAttr (Const, _))];
                                            tparams = None },
                                          (VarDef
                                             { vinit =
                                               (Some { e =
                                                       (L
                                                          (Int ((Some 2L), _)));
                                                       e_id = 0;
                                                       e_range = None;
                                                       is_implicit_return =
                                                       false;
                                                       facts = <opaque> });
                                               vtype = None; vtok = None })));
                                      s_range = None };
                                     { s =
                                       (DefStmt
                                          ({ name =
                                             (EN
                                                (Id (("y", _),
                                                   { id_resolved =
                                                     ref ((Some (Global, _)));
                                                     id_resolved_alternatives =
                                                     ref ([]);
                                                     id_type =
                                                     ref ((Some { t =
                                                                  (TyN
                                                                    (Id (
                                                                    ("int", _),
                                                                    { 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 (4);
                                                     id_info_id = _ }
                                                   )));
                                             attrs =
                                             [(KeywordAttr (Const, _))];
                                             tparams = None },
                                           (VarDef
                                              { vinit =
                                                (Some { e =
                                                        (L
                                                           (Int
                                                              ((Some 3L), _)));
                                                        e_id = 0;
                                                        e_range = None;
                                                        is_implicit_return =
                                                        false;
                                                        facts = <opaque> });
                                                vtype = None; vtok = None })));
                                       s_range = None }
                                     ],
                                   _));
                               s_range = None },
                             (Some { s =
                                     (ExprStmt (
                                        { e = (L (Int ((Some 3L), _)));
                                          e_id = 0; e_range = None;
                                          is_implicit_return = false;
                                          facts = <opaque> },
                                        _));
                                     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 =
    (DefStmt
       ({ name =
          (EN
             (Id (("x", _),
                { id_resolved = ref ((Some (Global, _)));
                  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 =
                          (If (_,
                             (Cond
                                { e = (L (Bool (true, _))); e_id = 0;
                                  e_range = None; is_implicit_return = false;
                                  facts = <opaque> }),
                             { s =
                               (Block
                                  (_,
                                   [{ s =
                                      (ExprStmt (
                                         { e =
                                           (Call (
                                              { e =
                                                (DotAccess (
                                                   { e =
                                                     (N
                                                        (Id (("x", _),
                                                           { id_resolved =
                                                             ref ((Some (
                                                             Global, _)));
                                                             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>
                                                     },
                                                   _,
                                                   (FN
                                                      (Id (("foo", _),
                                                         { id_resolved =
                                                           ref (None);
                                                           id_resolved_alternatives =
                                                           ref ([]);
                                                           id_type =
                                                           ref ((Some 
                                                           { t =
                                                             (TyFun (
                                                                [(OtherParam (
                                                                    (
                                                                    "TODO", _),
                                                                    []))
                                                                  ],
                                                                { t =
                                                                  (OtherType (
                                                                    ("TODO",
                                                                    _), 
                                                                    []));
                                                                  t_attrs =
                                                                  [] }
                                                                ));
                                                             t_attrs = [] }));
                                                           id_svalue =
                                                           ref (Unknown);
                                                           id_flags = ref (0);
                                                           id_info_id = _ }
                                                         )))
                                                   ));
                                                e_id = 0; e_range = None;
                                                is_implicit_return = false;
                                                facts = <opaque> },
                                              (_, [], _)));
                                           e_id = 0; e_range = None;
                                           is_implicit_return = false;
                                           facts = <opaque> },
                                         _));
                                      s_range = None };
                                     { s =
                                       (DefStmt
                                          ({ name =
                                             (EN
                                                (Id (("y", _),
                                                   { id_resolved =
                                                     ref ((Some (Global, _)));
                                                     id_resolved_alternatives =
                                                     ref ([]);
                                                     id_type =
                                                     ref ((Some { t =
                                                                  (TyN
                                                                    (Id (
                                                                    ("int", _),
                                                                    { 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 (4);
                                                     id_info_id = _ }
                                                   )));
                                             attrs =
                                             [(KeywordAttr (Const, _))];
                                             tparams = None },
                                           (VarDef
                                              { vinit =
                                                (Some { e =
                                                        (L
                                                           (Int
                                                              ((Some 3L), _)));
                                                        e_id = 0;
                                                        e_range = None;
                                                        is_implicit_return =
                                                        false;
                                                        facts = <opaque> });
                                                vtype = None; vtok = None })));
                                       s_range = None }
                                     ],
                                   _));
                               s_range = None },
                             (Some { s =
                                     (ExprStmt (
                                        { e = (L (Int ((Some 3L), _)));
                                          e_id = 0; e_range = None;
                                          is_implicit_return = false;
                                          facts = <opaque> },
                                        _));
                                     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 =
    (DefStmt
       ({ name =
          (EN
             (Id (("x", _),
                { id_resolved = ref ((Some (Global, _)));
                  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 =
                          (If (_,
                             (Cond
                                { e = (L (Bool (true, _))); e_id = 0;
                                  e_range = None; is_implicit_return = false;
                                  facts = <opaque> }),
                             { s =
                               (ExprStmt (
                                  { e = (L (Int ((Some 1L), _))); e_id = 0;
                                    e_range = None;
                                    is_implicit_return = false;
                                    facts = <opaque> },
                                  _));
                               s_range = None },
                             (Some { s =
                                     (ExprStmt (
                                        { e = (L (Int ((Some 2L), _)));
                                          e_id = 0; e_range = None;
                                          is_implicit_return = false;
                                          facts = <opaque> },
                                        _));
                                     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 }
  ]