[{ s =
   (DirectiveStmt
      { d = (ImportAll (_, (DottedName [("System", _)]), _)); d_attrs = [] });
   s_range = None };
  { s =
    (DefStmt
       ({ name =
          (EN
             (Id (("HelloWorldPattern", _),
                { id_resolved = ref (None);
                  id_resolved_alternatives = ref ([]); id_type = ref (None);
                  id_svalue = ref (Unknown); id_flags = ref (0);
                  id_info_id = _ }
                )));
          attrs = []; tparams = None },
        (ClassDef
           { ckind = (Class, _); cextends = []; cimplements = [];
             cmixins = []; cparams = (_, [], _);
             cbody =
             (_,
              [(F
                  { s =
                    (DefStmt
                       ({ name =
                          (EN
                             (Id (("Main", _),
                                { 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 (Public, _));
                            (KeywordAttr (Static, _))];
                          tparams = None },
                        (FuncDef
                           { fkind = (Method, _); fparams = (_, [], _);
                             frettype =
                             (Some { t =
                                     (TyN
                                        (Id (("void", _),
                                           { 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 = [] });
                             fbody =
                             (FBStmt
                                { s =
                                  (Block
                                     (_,
                                      [{ s =
                                         (For (_,
                                            (ForClassic (
                                               [(ForInitVar (
                                                   { name =
                                                     (EN
                                                        (Id (("i", _),
                                                           { 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 },
                                                   { vinit =
                                                     (Some { e =
                                                             (L
                                                                (Int
                                                                   ((Some 1L),
                                                                    _)));
                                                             e_id = 0;
                                                             e_range = None;
                                                             is_implicit_return =
                                                             false;
                                                             facts = <opaque>
                                                             });
                                                     vtype =
                                                     (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 = [] });
                                                     vtok = None }
                                                   ))
                                                 ],
                                               (Some { e =
                                                       (Call (
                                                          { e =
                                                            (Special
                                                               ((Op Lt), _));
                                                            e_id = 0;
                                                            e_range = None;
                                                            is_implicit_return =
                                                            false;
                                                            facts = <opaque>
                                                            },
                                                          (_,
                                                           [(Arg
                                                               { e =
                                                                 (N
                                                                    (
                                                                    Id (
                                                                    ("i", _),
                                                                    { 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 =
                                                                  (L
                                                                    (Int
                                                                    ((Some 20L),
                                                                    _)));
                                                                  e_id = 0;
                                                                  e_range =
                                                                  None;
                                                                  is_implicit_return =
                                                                  false;
                                                                  facts =
                                                                  <opaque> })
                                                             ],
                                                           _)
                                                          ));
                                                       e_id = 0;
                                                       e_range = None;
                                                       is_implicit_return =
                                                       false;
                                                       facts = <opaque> }),
                                               (Some { e =
                                                       (Call (
                                                          { e =
                                                            (Special
                                                               ((IncrDecr
                                                                   (Incr,
                                                                    Postfix)),
                                                                _));
                                                            e_id = 0;
                                                            e_range = None;
                                                            is_implicit_return =
                                                            false;
                                                            facts = <opaque>
                                                            },
                                                          (_,
                                                           [(Arg
                                                               { e =
                                                                 (N
                                                                    (
                                                                    Id (
                                                                    ("i", _),
                                                                    { 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> })
                                                             ],
                                                           _)
                                                          ));
                                                       e_id = 0;
                                                       e_range = None;
                                                       is_implicit_return =
                                                       false;
                                                       facts = <opaque> })
                                               )),
                                            { s =
                                              (Block
                                                 (_,
                                                  [{ s =
                                                     (DefStmt
                                                        ({ name =
                                                           (EN
                                                              (Id (
                                                                 ("text", _),
                                                                 { id_resolved =
                                                                   ref ((Some (
                                                                   LocalVar,
                                                                   _)));
                                                                   id_resolved_alternatives =
                                                                   ref (
                                                                   []);
                                                                   id_type =
                                                                   ref (None);
                                                                   id_svalue =
                                                                   ref (Unknown);
                                                                   id_flags =
                                                                   ref (0);
                                                                   id_info_id =
                                                                   _ }
                                                                 )));
                                                           attrs = [];
                                                           tparams = None },
                                                         (VarDef
                                                            { vinit =
                                                              (Some { e =
                                                                    (StmtExpr
                                                                    { s =
                                                                    (Switch (
                                                                    _,
                                                                    (Some (
                                                                    Cond
                                                                    { e =
                                                                    (Container (
                                                                    Tuple,
                                                                    (_,
                                                                    [{ e =
                                                                    (Call (
                                                                    { e =
                                                                    (Special
                                                                    ((
                                                                    Op Mod),
                                                                    _));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    },
                                                                    (_,
                                                                    [(Arg
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("i", _),
                                                                    { 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 =
                                                                    (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>
                                                                    };
                                                                    { e =
                                                                    (Call (
                                                                    { e =
                                                                    (Special
                                                                    ((
                                                                    Op Mod),
                                                                    _));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    },
                                                                    (_,
                                                                    [(Arg
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("i", _),
                                                                    { 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 =
                                                                    (L
                                                                    (Int
                                                                    ((Some 5L),
                                                                    _)));
                                                                    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>
                                                                    })),
                                                                    [(CasesAndBody
                                                                    ([(Case (
                                                                    _,
                                                                    (PatTuple
                                                                    (_,
                                                                    [(PatLiteral
                                                                    (Int
                                                                    ((Some 0L),
                                                                    _)));
                                                                    (PatLiteral
                                                                    (Int
                                                                    ((Some 0L),
                                                                    _)))], _))
                                                                    ))],
                                                                    { s =
                                                                    (ExprStmt (
                                                                    { e =
                                                                    (L
                                                                    (String
                                                                    (_,
                                                                    ("FizzBuzz",
                                                                    _), _)));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    }, _));
                                                                    s_range =
                                                                    None }));
                                                                    (CasesAndBody
                                                                    ([(Case (
                                                                    _,
                                                                    (PatTuple
                                                                    (_,
                                                                    [(PatLiteral
                                                                    (Int
                                                                    ((Some 0L),
                                                                    _)));
                                                                    (PatId (
                                                                    ("_", _),
                                                                    { 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 =
                                                                    (ExprStmt (
                                                                    { e =
                                                                    (L
                                                                    (String
                                                                    (_,
                                                                    ("Fizz",
                                                                    _), _)));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    }, _));
                                                                    s_range =
                                                                    None }));
                                                                    (CasesAndBody
                                                                    ([(Case (
                                                                    _,
                                                                    (PatTuple
                                                                    (_,
                                                                    [(PatWildcard
                                                                    _);
                                                                    (PatLiteral
                                                                    (Int
                                                                    ((Some 0L),
                                                                    _)))], _))
                                                                    ))],
                                                                    { s =
                                                                    (ExprStmt (
                                                                    { e =
                                                                    (L
                                                                    (String
                                                                    (_,
                                                                    ("Buzz",
                                                                    _), _)));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    }, _));
                                                                    s_range =
                                                                    None }));
                                                                    (CasesAndBody
                                                                    ([(Case (
                                                                    _,
                                                                    (PatTuple
                                                                    (_,
                                                                    [(PatWildcard
                                                                    _);
                                                                    (PatWildcard
                                                                    _)], _))
                                                                    ))],
                                                                    { s =
                                                                    (ExprStmt (
                                                                    { e =
                                                                    (Call (
                                                                    { e =
                                                                    (DotAccess (
                                                                    { e =
                                                                    (N
                                                                    (Id (
                                                                    ("i", _),
                                                                    { 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 (
                                                                    ("ToString",
                                                                    _),
                                                                    { 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_range =
                                                                    None });
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    });
                                                              vtype = None;
                                                              vtok = (Some _)
                                                              })));
                                                     s_range = None };
                                                    { s =
                                                      (ExprStmt (
                                                         { e =
                                                           (Call (
                                                              { e =
                                                                (DotAccess (
                                                                   { e =
                                                                    (N
                                                                    (Id (
                                                                    ("Console",
                                                                    _),
                                                                    { 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 (
                                                                    ("WriteLine",
                                                                    _),
                                                                    { 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 =
                                                                    (N
                                                                    (Id (
                                                                    ("text",
                                                                    _),
                                                                    { 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 }
                                        ],
                                      _));
                                  s_range = None })
                             })));
                    s_range = None })
                ],
              _)
             })));
    s_range = None }
  ]