[{ s =
   (DirectiveStmt
      { d = (ImportAll (_, (DottedName [("System", _)]), _)); d_attrs = [] });
   s_range = None };
  { s =
    (DefStmt
       ({ name =
          (EN
             (Id (("HelloWorldEvents", _),
                { 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 (("StringEvent", _),
                                { id_resolved = ref ((Some (EnclosedVar, _)));
                                  id_resolved_alternatives = ref ([]);
                                  id_type =
                                  ref ((Some { t =
                                               (TyN
                                                  (IdQualified
                                                     { name_last =
                                                       (("EventHandler", _),
                                                        (Some (_,
                                                               [(TA
                                                                   { 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 =
                                                                    [] })
                                                                 ],
                                                               _)));
                                                       name_middle = None;
                                                       name_top = None;
                                                       name_info =
                                                       { 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 = _ }
                                )));
                          attrs =
                          [(NamedAttr (_,
                              (Id (("event", _),
                                 { id_resolved = ref (None);
                                   id_resolved_alternatives = ref ([]);
                                   id_type = ref (None);
                                   id_svalue = ref (Unknown);
                                   id_flags = ref (0); id_info_id = _ }
                                 )),
                              (_, [], _)));
                            (KeywordAttr (Private, _))];
                          tparams = None },
                        (VarDef
                           { vinit = None;
                             vtype =
                             (Some { t =
                                     (TyN
                                        (IdQualified
                                           { name_last =
                                             (("EventHandler", _),
                                              (Some (_,
                                                     [(TA
                                                         { 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 = [] })
                                                       ],
                                                     _)));
                                             name_middle = None;
                                             name_top = None;
                                             name_info =
                                             { 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 = (Some _) })));
                    s_range = None });
                (F
                   { s =
                     (Block
                        (_,
                         [{ s =
                            (DefStmt
                               ({ name =
                                  (EN
                                     (Id (("AccessorEvent", _),
                                        { id_resolved =
                                          ref ((Some (EnclosedVar, _)));
                                          id_resolved_alternatives = ref ([]);
                                          id_type =
                                          ref ((Some { t =
                                                       (TyN
                                                          (IdQualified
                                                             { name_last =
                                                               (("EventHandler",
                                                                 _),
                                                                (Some (
                                                                _,
                                                                [(TA
                                                                    { 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 =
                                                                    [] })
                                                                  ],
                                                                _)));
                                                               name_middle =
                                                               None;
                                                               name_top =
                                                               None;
                                                               name_info =
                                                               { 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 = _
                                          }
                                        )));
                                  attrs =
                                  [(NamedAttr (_,
                                      (Id (("event", _),
                                         { id_resolved = ref (None);
                                           id_resolved_alternatives =
                                           ref ([]); id_type = ref (None);
                                           id_svalue = ref (Unknown);
                                           id_flags = ref (0); id_info_id = _
                                           }
                                         )),
                                      (_, [], _)))
                                    ];
                                  tparams = None },
                                (VarDef
                                   { vinit = None;
                                     vtype =
                                     (Some { t =
                                             (TyN
                                                (IdQualified
                                                   { name_last =
                                                     (("EventHandler", _),
                                                      (Some (_,
                                                             [(TA
                                                                 { 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 =
                                                                   [] })
                                                               ],
                                                             _)));
                                                     name_middle = None;
                                                     name_top = None;
                                                     name_info =
                                                     { 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 })));
                            s_range = None };
                           { s =
                             (DefStmt
                                ({ name =
                                   (EN
                                      (Id (("add_AccessorEvent", _),
                                         { id_resolved = ref (None);
                                           id_resolved_alternatives =
                                           ref ([]); id_type = ref (None);
                                           id_svalue = ref (Unknown);
                                           id_flags = ref (0); id_info_id = _
                                           }
                                         )));
                                   attrs =
                                   [(NamedAttr (_,
                                       (Id (("add", _),
                                          { id_resolved = ref (None);
                                            id_resolved_alternatives =
                                            ref ([]); id_type = ref (None);
                                            id_svalue = ref (Unknown);
                                            id_flags = ref (0);
                                            id_info_id = _ }
                                          )),
                                       (_, [], _)))
                                     ];
                                   tparams = None },
                                 (FuncDef
                                    { fkind = (Method, _);
                                      fparams =
                                      (_,
                                       [(Param
                                           { pname = (Some ("value", _));
                                             ptype =
                                             (Some { t =
                                                     (TyN
                                                        (IdQualified
                                                           { name_last =
                                                             (("EventHandler",
                                                               _),
                                                              (Some (
                                                              _,
                                                              [(TA
                                                                  { 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 =
                                                                    [] })
                                                                ],
                                                              _)));
                                                             name_middle =
                                                             None;
                                                             name_top = None;
                                                             name_info =
                                                             { 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
                                                               (IdQualified
                                                                  { name_last =
                                                                    (
                                                                    (
                                                                    "EventHandler",
                                                                    _),
                                                                    (Some (
                                                                    _,
                                                                    [(TA
                                                                    { 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 =
                                                                    [] })], _)));
                                                                    name_middle =
                                                                    None;
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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 = _ }
                                             })
                                         ],
                                       _);
                                      frettype = None;
                                      fbody =
                                      (FBStmt
                                         { s =
                                           (Block
                                              (_,
                                               [{ s =
                                                  (ExprStmt (
                                                     { e =
                                                       (AssignOp (
                                                          { e =
                                                            (N
                                                               (Id (
                                                                  ("StringEvent",
                                                                   _),
                                                                  { id_resolved =
                                                                    ref ((Some (
                                                                    EnclosedVar,
                                                                    _)));
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyN
                                                                    (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "EventHandler",
                                                                    _),
                                                                    (Some (
                                                                    _,
                                                                    [(TA
                                                                    { 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 =
                                                                    [] })], _)));
                                                                    name_middle =
                                                                    None;
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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 =
                                                                    _ }
                                                                  )));
                                                            e_id = 0;
                                                            e_range = None;
                                                            is_implicit_return =
                                                            false;
                                                            facts = <opaque>
                                                            },
                                                          (Plus, _),
                                                          { e =
                                                            (N
                                                               (Id (
                                                                  ("value", _),
                                                                  { id_resolved =
                                                                    ref ((Some (
                                                                    Parameter,
                                                                    _)));
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyN
                                                                    (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "EventHandler",
                                                                    _),
                                                                    (Some (
                                                                    _,
                                                                    [(TA
                                                                    { 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 =
                                                                    [] })], _)));
                                                                    name_middle =
                                                                    None;
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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 =
                                                                    _ }
                                                                  )));
                                                            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 =
                             (DefStmt
                                ({ name =
                                   (EN
                                      (Id (("remove_AccessorEvent", _),
                                         { id_resolved = ref (None);
                                           id_resolved_alternatives =
                                           ref ([]); id_type = ref (None);
                                           id_svalue = ref (Unknown);
                                           id_flags = ref (0); id_info_id = _
                                           }
                                         )));
                                   attrs =
                                   [(NamedAttr (_,
                                       (Id (("remove", _),
                                          { id_resolved = ref (None);
                                            id_resolved_alternatives =
                                            ref ([]); id_type = ref (None);
                                            id_svalue = ref (Unknown);
                                            id_flags = ref (0);
                                            id_info_id = _ }
                                          )),
                                       (_, [], _)))
                                     ];
                                   tparams = None },
                                 (FuncDef
                                    { fkind = (Method, _);
                                      fparams =
                                      (_,
                                       [(Param
                                           { pname = (Some ("value", _));
                                             ptype =
                                             (Some { t =
                                                     (TyN
                                                        (IdQualified
                                                           { name_last =
                                                             (("EventHandler",
                                                               _),
                                                              (Some (
                                                              _,
                                                              [(TA
                                                                  { 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 =
                                                                    [] })
                                                                ],
                                                              _)));
                                                             name_middle =
                                                             None;
                                                             name_top = None;
                                                             name_info =
                                                             { 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
                                                               (IdQualified
                                                                  { name_last =
                                                                    (
                                                                    (
                                                                    "EventHandler",
                                                                    _),
                                                                    (Some (
                                                                    _,
                                                                    [(TA
                                                                    { 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 =
                                                                    [] })], _)));
                                                                    name_middle =
                                                                    None;
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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 = _ }
                                             })
                                         ],
                                       _);
                                      frettype = None;
                                      fbody =
                                      (FBStmt
                                         { s =
                                           (Block
                                              (_,
                                               [{ s =
                                                  (ExprStmt (
                                                     { e =
                                                       (AssignOp (
                                                          { e =
                                                            (N
                                                               (Id (
                                                                  ("StringEvent",
                                                                   _),
                                                                  { id_resolved =
                                                                    ref ((Some (
                                                                    EnclosedVar,
                                                                    _)));
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyN
                                                                    (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "EventHandler",
                                                                    _),
                                                                    (Some (
                                                                    _,
                                                                    [(TA
                                                                    { 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 =
                                                                    [] })], _)));
                                                                    name_middle =
                                                                    None;
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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 =
                                                                    _ }
                                                                  )));
                                                            e_id = 0;
                                                            e_range = None;
                                                            is_implicit_return =
                                                            false;
                                                            facts = <opaque>
                                                            },
                                                          (Minus, _),
                                                          { e =
                                                            (N
                                                               (Id (
                                                                  ("value", _),
                                                                  { id_resolved =
                                                                    ref ((Some (
                                                                    Parameter,
                                                                    _)));
                                                                    id_resolved_alternatives =
                                                                    ref (
                                                                    []);
                                                                    id_type =
                                                                    ref ((Some 
                                                                    { t =
                                                                    (TyN
                                                                    (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "EventHandler",
                                                                    _),
                                                                    (Some (
                                                                    _,
                                                                    [(TA
                                                                    { 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 =
                                                                    [] })], _)));
                                                                    name_middle =
                                                                    None;
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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 =
                                                                    _ }
                                                                  )));
                                                            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 });
                (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 =
                                          (DefStmt
                                             ({ name =
                                                (EN
                                                   (Id (("instance", _),
                                                      { id_resolved =
                                                        ref ((Some (LocalVar,
                                                                    _)));
                                                        id_resolved_alternatives =
                                                        ref ([]);
                                                        id_type =
                                                        ref ((Some { t =
                                                                    (TyN
                                                                    (Id (
                                                                    ("HelloWorldEvents",
                                                                    _),
                                                                    { 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 = _ }
                                                      )));
                                                attrs = []; tparams = None },
                                              (VarDef
                                                 { vinit =
                                                   (Some { e =
                                                           (New (_,
                                                              { t =
                                                                (TyN
                                                                   (Id (
                                                                    ("HelloWorldEvents",
                                                                    _),
                                                                    { 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_resolved =
                                                                ref (None);
                                                                id_resolved_alternatives =
                                                                ref (
                                                                []);
                                                                id_type =
                                                                ref (None);
                                                                id_svalue =
                                                                ref (Unknown);
                                                                id_flags =
                                                                ref (0);
                                                                id_info_id =
                                                                _ },
                                                              (_,
                                                               [(Arg
                                                                   { e =
                                                                    (Container (
                                                                    Tuple,
                                                                    (_, [], _)
                                                                    ));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    })
                                                                 ],
                                                               _)
                                                              ));
                                                           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 (
                                                                ("instance",
                                                                 _),
                                                                { id_resolved =
                                                                  ref ((Some (
                                                                  LocalVar, _)));
                                                                  id_resolved_alternatives =
                                                                  ref (
                                                                  []);
                                                                  id_type =
                                                                  ref ((Some 
                                                                  { t =
                                                                    (
                                                                    TyN
                                                                    (Id (
                                                                    ("HelloWorldEvents",
                                                                    _),
                                                                    { 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 =
                                                                  _ }
                                                                )));
                                                          e_id = 0;
                                                          e_range = None;
                                                          is_implicit_return =
                                                          false;
                                                          facts = <opaque> },
                                                        _,
                                                        (FN
                                                           (Id (("Run", _),
                                                              { 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 })
                              })));
                     s_range = None });
                (F
                   { s =
                     (DefStmt
                        ({ name =
                           (EN
                              (Id (("Run", _),
                                 { 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, _))];
                           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 =
                                          (ExprStmt (
                                             { e =
                                               (AssignOp (
                                                  { e =
                                                    (N
                                                       (Id (
                                                          ("StringEvent", _),
                                                          { id_resolved =
                                                            ref ((Some (
                                                            EnclosedVar, _)));
                                                            id_resolved_alternatives =
                                                            ref ([]);
                                                            id_type =
                                                            ref ((Some 
                                                            { t =
                                                              (TyN
                                                                 (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "EventHandler",
                                                                    _),
                                                                    (Some (
                                                                    _,
                                                                    [(TA
                                                                    { 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 =
                                                                    [] })], _)));
                                                                    name_middle =
                                                                    None;
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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 = _ }
                                                          )));
                                                    e_id = 0; e_range = None;
                                                    is_implicit_return =
                                                    false; facts = <opaque> },
                                                  (Plus, _),
                                                  { e =
                                                    (N
                                                       (Id (
                                                          ("PrintString", _),
                                                          { 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_range = None };
                                         { s =
                                           (ExprStmt (
                                              { e =
                                                (Call (
                                                   { e =
                                                     (DotAccess (
                                                        { e =
                                                          (N
                                                             (Id (
                                                                ("StringEvent",
                                                                 _),
                                                                { id_resolved =
                                                                  ref ((Some (
                                                                  EnclosedVar,
                                                                  _)));
                                                                  id_resolved_alternatives =
                                                                  ref (
                                                                  []);
                                                                  id_type =
                                                                  ref ((Some 
                                                                  { t =
                                                                    (
                                                                    TyN
                                                                    (IdQualified
                                                                    { name_last =
                                                                    ((
                                                                    "EventHandler",
                                                                    _),
                                                                    (Some (
                                                                    _,
                                                                    [(TA
                                                                    { 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 =
                                                                    [] })], _)));
                                                                    name_middle =
                                                                    None;
                                                                    name_top =
                                                                    None;
                                                                    name_info =
                                                                    { 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 =
                                                                  _ }
                                                                )));
                                                          e_id = 0;
                                                          e_range = None;
                                                          is_implicit_return =
                                                          false;
                                                          facts = <opaque> },
                                                        _,
                                                        (FN
                                                           (Id (
                                                              ("Invoke", _),
                                                              { 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
                                                             (IdSpecial (
                                                                (This, _),
                                                                { 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
                                                              (String
                                                                 (_,
                                                                  ("Hello world",
                                                                   _),
                                                                  _)));
                                                           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 });
                (F
                   { s =
                     (DefStmt
                        ({ name =
                           (EN
                              (Id (("PrintString", _),
                                 { 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 (Private, _))];
                           tparams = None },
                         (FuncDef
                            { fkind = (Method, _);
                              fparams =
                              (_,
                               [(Param
                                   { pname = (Some ("sender", _));
                                     ptype =
                                     (Some { t =
                                             (TyN
                                                (Id (("object", _),
                                                   { 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 (("object", _),
                                                          { 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 ("e", _));
                                      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 = _ }
                                      })
                                 ],
                               _);
                              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 =
                                          (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 (("e", _),
                                                               { 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 =
                                                                 _ }
                                                               )));
                                                         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 }
  ]