[{ s =
   (DefStmt
      ({ name =
         (EN
            (Id (("BatchProvider", _),
               { id_resolved = ref (None);
                 id_resolved_alternatives = ref ([]); id_type = ref (None);
                 id_svalue = ref (Unknown); id_flags = ref (0);
                 id_info_id = _ }
               )));
         attrs = [(KeywordAttr (Final, _))];
         tparams =
         (Some (_,
                [(TP
                    { tp_id = ("A", _); tp_attrs = []; tp_bounds = [];
                      tp_default = None; tp_variance = None })
                  ],
                _))
         },
       (ClassDef
          { ckind = (Class, _); cextends = []; cimplements = [];
            cmixins = [];
            cparams =
            (_,
             [(Param
                 { pname = (Some ("name", _));
                   ptype =
                   (Some { t =
                           (TyN
                              (Id (("String", _),
                                 { 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 = [] });
                   pdefault = None; pattrs = [];
                   pinfo =
                   { id_resolved = ref ((Some (Parameter, _)));
                     id_resolved_alternatives = ref ([]);
                     id_type =
                     ref ((Some { t =
                                  (TyN
                                     (Id (("String", _),
                                        { 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 = _ }
                   });
               (Param
                  { pname = (Some ("generateBatch", _));
                    ptype =
                    (Some { t =
                            (TyFun ([],
                               { t =
                                 (TyApply (
                                    { t =
                                      (TyN
                                         (Id (("Fu", _),
                                            { 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 = [] },
                                    (_,
                                     [(TA
                                         { t =
                                           (TyApply (
                                              { t =
                                                (TyN
                                                   (Id (("List", _),
                                                      { 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 = [] },
                                              (_,
                                               [(TA
                                                   { 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 = [] })
                                                 ],
                                               _)
                                              ));
                                           t_attrs = [] })
                                       ],
                                     _)
                                    ));
                                 t_attrs = [] }
                               ));
                            t_attrs = [] });
                    pdefault = None; pattrs = [];
                    pinfo =
                    { id_resolved = ref ((Some (Parameter, _)));
                      id_resolved_alternatives = ref ([]);
                      id_type =
                      ref ((Some { t =
                                   (TyFun ([],
                                      { t =
                                        (TyApply (
                                           { t =
                                             (TyN
                                                (Id (("Fu", _),
                                                   { 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 = [] },
                                           (_,
                                            [(TA
                                                { t =
                                                  (TyApply (
                                                     { t =
                                                       (TyN
                                                          (Id (("List", _),
                                                             { 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 = [] },
                                                     (_,
                                                      [(TA
                                                          { 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 = [] })
                                                        ],
                                                      _)
                                                     ));
                                                  t_attrs = [] })
                                              ],
                                            _)
                                           ));
                                        t_attrs = [] }
                                      ));
                                   t_attrs = [] }));
                      id_svalue = ref (Unknown); id_flags = ref (0);
                      id_info_id = _ }
                    })
               ],
             _);
            cbody =
            (_,
             [(F
                 { s =
                   (DefStmt
                      ({ name =
                         (EN
                            (Id (("reserve", _),
                               { id_resolved = ref ((Some (EnclosedVar, _)));
                                 id_resolved_alternatives = ref ([]);
                                 id_type = ref (None);
                                 id_svalue = ref (Unknown);
                                 id_flags = ref (0); id_info_id = _ }
                               )));
                         attrs =
                         [(KeywordAttr (Mutable, _));
                           (KeywordAttr (Private, _))];
                         tparams = None },
                       (VarDef
                          { vinit =
                            (Some { e =
                                    (OtherExpr (("InstanciatedExpr", _),
                                       [(E
                                           { e =
                                             (DotAccess (
                                                { e =
                                                  (N
                                                     (Id (("List", _),
                                                        { 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> },
                                                _,
                                                (FN
                                                   (Id (("empty", _),
                                                      { 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> });
                                         (T
                                            { 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 = [] })
                                         ]
                                       ));
                                    e_id = 0; e_range = None;
                                    is_implicit_return = false;
                                    facts = <opaque> });
                            vtype = None; vtok = None })));
                   s_range = None });
               (F
                  { s =
                    (DefStmt
                       ({ name =
                          (EN
                             (Id (("one", _),
                                { 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 },
                        (FuncDef
                           { fkind = (Method, _); fparams = (_, [], _);
                             frettype =
                             (Some { t =
                                     (TyApply (
                                        { t =
                                          (TyN
                                             (Id (("Fu", _),
                                                { 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 = [] },
                                        (_,
                                         [(TA
                                             { 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 = [] })
                                           ],
                                         _)
                                        ));
                                     t_attrs = [] });
                             fbody =
                             (FBExpr
                                { e =
                                  (Call (
                                     { e =
                                       (N
                                          (Id (("workQueue", _),
                                             { 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> },
                                     (_,
                                      [(Arg
                                          { e =
                                            (StmtExpr
                                               { s =
                                                 (Block
                                                    (_,
                                                     [{ s =
                                                        (ExprStmt (
                                                           { e =
                                                             (StmtExpr
                                                                { s =
                                                                  (Switch (_,
                                                                    (Some (
                                                                    Cond
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("reserve",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref ((Some (
                                                                    EnclosedVar,
                                                                    _)));
                                                                    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 (
                                                                    ("::", _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref (None);
                                                                    id_svalue =
                                                                    ref (Unknown);
                                                                    id_flags =
                                                                    ref (0);
                                                                    id_info_id =
                                                                    _ })),
                                                                    [(PatId (
                                                                    ("head",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref ((Some (
                                                                    LocalVar,
                                                                    _)));
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref (None);
                                                                    id_svalue =
                                                                    ref (Unknown);
                                                                    id_flags =
                                                                    ref (0);
                                                                    id_info_id =
                                                                    _ }));
                                                                    (PatId (
                                                                    ("tail",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref ((Some (
                                                                    LocalVar,
                                                                    _)));
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref (None);
                                                                    id_svalue =
                                                                    ref (Unknown);
                                                                    id_flags =
                                                                    ref (0);
                                                                    id_info_id =
                                                                    _ }))]))
                                                                    ))],
                                                                    { s =
                                                                    (Block
                                                                    (_,
                                                                    [{ s =
                                                                    (Block
                                                                    (_,
                                                                    [{ s =
                                                                    (ExprStmt (
                                                                    { e =
                                                                    (Assign (
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("reserve",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref ((Some (
                                                                    EnclosedVar,
                                                                    _)));
                                                                    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>
                                                                    }, _,
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("tail",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref ((Some (
                                                                    LocalVar,
                                                                    _)));
                                                                    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>
                                                                    }));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    }, _));
                                                                    s_range =
                                                                    None };
                                                                    { s =
                                                                    (ExprStmt (
                                                                    { e =
                                                                    (Call (
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("fuccess",
                                                                    _),
                                                                    { 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>
                                                                    },
                                                                    (_,
                                                                    [(Arg
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("head",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref ((Some (
                                                                    LocalVar,
                                                                    _)));
                                                                    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>
                                                                    })], _)));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    }, _));
                                                                    s_range =
                                                                    None }],
                                                                    _));
                                                                    s_range =
                                                                    None }],
                                                                    _));
                                                                    s_range =
                                                                    None }));
                                                                    (CasesAndBody
                                                                    ([(Case (
                                                                    _,
                                                                    (PatConstructor (
                                                                    (Id (
                                                                    ("Nil", _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref (None);
                                                                    id_svalue =
                                                                    ref (Unknown);
                                                                    id_flags =
                                                                    ref (0);
                                                                    id_info_id =
                                                                    _ })), 
                                                                    []))))],
                                                                    { s =
                                                                    (Block
                                                                    (_,
                                                                    [{ s =
                                                                    (ExprStmt (
                                                                    { e =
                                                                    (Call (
                                                                    { e =
                                                                    (DotAccess (
                                                                    { e =
                                                                    (Call (
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("generateBatch",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref ((Some (
                                                                    Parameter,
                                                                    _)));
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyFun (
                                                                    [],
                                                                    { t =
                                                                    (TyApply (
                                                                    { t =
                                                                    (TyN
                                                                    (Id (
                                                                    ("Fu", _),
                                                                    { 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 =
                                                                    [] },
                                                                    (_,
                                                                    [(TA
                                                                    { t =
                                                                    (TyApply (
                                                                    { t =
                                                                    (TyN
                                                                    (Id (
                                                                    ("List",
                                                                    _),
                                                                    { 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 =
                                                                    [] },
                                                                    (_,
                                                                    [(TA
                                                                    { 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 =
                                                                    [] })], _)
                                                                    ));
                                                                    t_attrs =
                                                                    [] })], _)
                                                                    ));
                                                                    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>
                                                                    }, _,
                                                                    (FN
                                                                    (Id (
                                                                    ("map", _),
                                                                    { 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 =
                                                                    (Lambda
                                                                    { fkind =
                                                                    (BlockCases,
                                                                    _);
                                                                    fparams =
                                                                    (
                                                                    _,
                                                                    [(Param
                                                                    { pname =
                                                                    (Some (
                                                                    "!hidden_scala_param!",
                                                                    _));
                                                                    ptype =
                                                                    None;
                                                                    pdefault =
                                                                    None;
                                                                    pattrs =
                                                                    [];
                                                                    pinfo =
                                                                    { id_resolved =
                                                                    ref ((Some (
                                                                    Parameter,
                                                                    _)));
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref (None);
                                                                    id_svalue =
                                                                    ref (Unknown);
                                                                    id_flags =
                                                                    ref (1);
                                                                    id_info_id =
                                                                    _ } })],
                                                                    _);
                                                                    frettype =
                                                                    None;
                                                                    fbody =
                                                                    (
                                                                    FBExpr
                                                                    { e =
                                                                    (StmtExpr
                                                                    { s =
                                                                    (Switch (
                                                                    _,
                                                                    (Some (
                                                                    Cond
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("!hidden_scala_param!",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref ((Some (
                                                                    Parameter,
                                                                    _)));
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref (None);
                                                                    id_svalue =
                                                                    ref (Unknown);
                                                                    id_flags =
                                                                    ref (1);
                                                                    id_info_id =
                                                                    _ })));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    })),
                                                                    [(CasesAndBody
                                                                    ([(Case (
                                                                    _,
                                                                    (PatConstructor (
                                                                    (Id (
                                                                    ("::", _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref (None);
                                                                    id_svalue =
                                                                    ref (Unknown);
                                                                    id_flags =
                                                                    ref (0);
                                                                    id_info_id =
                                                                    _ })),
                                                                    [(PatId (
                                                                    ("head",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref ((Some (
                                                                    LocalVar,
                                                                    _)));
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref (None);
                                                                    id_svalue =
                                                                    ref (Unknown);
                                                                    id_flags =
                                                                    ref (0);
                                                                    id_info_id =
                                                                    _ }));
                                                                    (PatId (
                                                                    ("tail",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref ((Some (
                                                                    LocalVar,
                                                                    _)));
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref (None);
                                                                    id_svalue =
                                                                    ref (Unknown);
                                                                    id_flags =
                                                                    ref (0);
                                                                    id_info_id =
                                                                    _ }))]))
                                                                    ))],
                                                                    { s =
                                                                    (Block
                                                                    (_,
                                                                    [{ s =
                                                                    (Block
                                                                    (_,
                                                                    [{ s =
                                                                    (ExprStmt (
                                                                    { e =
                                                                    (Assign (
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("reserve",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref ((Some (
                                                                    EnclosedVar,
                                                                    _)));
                                                                    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>
                                                                    }, _,
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("tail",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref ((Some (
                                                                    LocalVar,
                                                                    _)));
                                                                    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>
                                                                    }));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    }, _));
                                                                    s_range =
                                                                    None };
                                                                    { s =
                                                                    (ExprStmt (
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("head",
                                                                    _),
                                                                    { id_resolved =
                                                                    ref ((Some (
                                                                    LocalVar,
                                                                    _)));
                                                                    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 =
                                                                    true;
                                                                    facts =
                                                                    <opaque>
                                                                    }, _));
                                                                    s_range =
                                                                    None }],
                                                                    _));
                                                                    s_range =
                                                                    None }],
                                                                    _));
                                                                    s_range =
                                                                    None }));
                                                                    (CasesAndBody
                                                                    ([(Case (
                                                                    _,
                                                                    (PatConstructor (
                                                                    (Id (
                                                                    ("Nil", _),
                                                                    { id_resolved =
                                                                    ref (None);
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref (None);
                                                                    id_svalue =
                                                                    ref (Unknown);
                                                                    id_flags =
                                                                    ref (0);
                                                                    id_info_id =
                                                                    _ })), 
                                                                    []))))],
                                                                    { s =
                                                                    (Block
                                                                    (_,
                                                                    [{ s =
                                                                    (ExprStmt (
                                                                    { e =
                                                                    (Call (
                                                                    { e =
                                                                    (DotAccess (
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("sys", _),
                                                                    { 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>
                                                                    }, _,
                                                                    (FN
                                                                    (Id (
                                                                    ("error",
                                                                    _),
                                                                    { 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
                                                                    (String
                                                                    (_,
                                                                    ("couldn't generate batch",
                                                                    _), _)));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    })], _)));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    true;
                                                                    facts =
                                                                    <opaque>
                                                                    }, _));
                                                                    s_range =
                                                                    None }],
                                                                    _));
                                                                    s_range =
                                                                    None }))]
                                                                    ));
                                                                    s_range =
                                                                    None });
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    }) });
                                                                    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 }))]
                                                                    ));
                                                                  s_range =
                                                                  None });
                                                             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> })
                                        ],
                                      _)
                                     ));
                                  e_id = 0; e_range = None;
                                  is_implicit_return = true; facts = <opaque>
                                  })
                             })));
                    s_range = None })
               ],
             _)
            })));
   s_range = None }
  ]