[{ s =
   (DefStmt
      ({ name =
         (EN
            (Id (("foo", _),
               { id_resolved = ref (None);
                 id_resolved_alternatives = ref ([]); id_type = ref (None);
                 id_svalue = ref (Unknown); id_flags = ref (0);
                 id_info_id = _ }
               )));
         attrs = []; tparams = None },
       (FuncDef
          { fkind = (Function, _);
            fparams =
            (_,
             [(Param
                 { pname = (Some ("x", _)); ptype = None; pdefault = None;
                   pattrs = [];
                   pinfo =
                   { id_resolved = ref ((Some (Parameter, _)));
                     id_resolved_alternatives = ref ([]);
                     id_type = ref (None); id_svalue = ref (Unknown);
                     id_flags = ref (0); id_info_id = _ }
                   })
               ],
             _);
            frettype = None;
            fbody =
            (FBStmt
               { s =
                 (Block
                    (_,
                     [{ s =
                        (Switch (_,
                           (Some (Cond
                                    { e =
                                      (Container (Tuple,
                                         (_,
                                          [{ e =
                                             (N
                                                (Id (("x", _),
                                                   { id_resolved =
                                                     ref ((Some (Parameter, _)));
                                                     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> })),
                           [(CasesAndBody
                               ([(Case (_,
                                    (PatTuple
                                       (_,
                                        [(PatTuple
                                            (_,
                                             [(PatKeyVal (
                                                 (OtherPat (
                                                    ("PatInterpolatedString",
                                                     _),
                                                    [(E
                                                        { e =
                                                          (Call (
                                                             { e =
                                                               (Special
                                                                  ((ConcatString
                                                                    (FString
                                                                    "f")),
                                                                   _));
                                                               e_id = 0;
                                                               e_range = None;
                                                               is_implicit_return =
                                                               false;
                                                               facts =
                                                               <opaque> },
                                                             (_,
                                                              [(Arg
                                                                  { e =
                                                                    (
                                                                    L
                                                                    (String
                                                                    (_,
                                                                    ("a", _),
                                                                    _)));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    })
                                                                ],
                                                              _)
                                                             ));
                                                          e_id = 0;
                                                          e_range = None;
                                                          is_implicit_return =
                                                          false;
                                                          facts = <opaque> })
                                                      ]
                                                    )),
                                                 (PatLiteral
                                                    (Int ((Some 42L), _)))
                                                 ))
                                               ],
                                             _))
                                          ],
                                        _))
                                    ))
                                  ],
                                { s =
                                  (Block
                                     (_,
                                      [{ s =
                                         (ExprStmt (
                                            { e =
                                              (Call (
                                                 { e =
                                                   (N
                                                      (Id (("print", _),
                                                         { 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
                                                              (_, ("foo", _),
                                                               _)));
                                                        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 }));
                             (CasesAndBody
                                ([(Case (_,
                                     (PatTuple
                                        (_,
                                         [(PatTuple
                                             (_,
                                              [(PatKeyVal (
                                                  (OtherPat (
                                                     ("PatInterpolatedString",
                                                      _),
                                                     [(E
                                                         { e =
                                                           (Call (
                                                              { e =
                                                                (Special
                                                                   ((
                                                                    ConcatString
                                                                    (FString
                                                                    "f")), _));
                                                                e_id = 0;
                                                                e_range =
                                                                None;
                                                                is_implicit_return =
                                                                false;
                                                                facts =
                                                                <opaque> },
                                                              (_,
                                                               [(Arg
                                                                   { e =
                                                                    (L
                                                                    (String
                                                                    (_,
                                                                    ("a", _),
                                                                    _)));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    })
                                                                 ],
                                                               _)
                                                              ));
                                                           e_id = 0;
                                                           e_range = None;
                                                           is_implicit_return =
                                                           false;
                                                           facts = <opaque> })
                                                       ]
                                                     )),
                                                  (PatLiteral
                                                     (Int ((Some 42L), _)))
                                                  ))
                                                ],
                                              _))
                                           ],
                                         _))
                                     ))
                                   ],
                                 { s =
                                   (Block
                                      (_,
                                       [{ s =
                                          (ExprStmt (
                                             { e =
                                               (Call (
                                                  { e =
                                                    (N
                                                       (Id (("print", _),
                                                          { 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
                                                               (_,
                                                                ("foo", _), _)));
                                                         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 }));
                             (CasesAndBody
                                ([(Case (_,
                                     (PatTuple
                                        (_,
                                         [(PatTuple
                                             (_,
                                              [(PatKeyVal (
                                                  (OtherPat (
                                                     ("PatInterpolatedString",
                                                      _),
                                                     [(E
                                                         { e =
                                                           (Call (
                                                              { e =
                                                                (Special
                                                                   ((
                                                                    ConcatString
                                                                    (FString
                                                                    "f")), _));
                                                                e_id = 0;
                                                                e_range =
                                                                None;
                                                                is_implicit_return =
                                                                false;
                                                                facts =
                                                                <opaque> },
                                                              (_,
                                                               [(Arg
                                                                   { e =
                                                                    (L
                                                                    (String
                                                                    (_,
                                                                    ("a", _),
                                                                    _)));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    })
                                                                 ],
                                                               _)
                                                              ));
                                                           e_id = 0;
                                                           e_range = None;
                                                           is_implicit_return =
                                                           false;
                                                           facts = <opaque> })
                                                       ]
                                                     )),
                                                  (PatLiteral
                                                     (Int ((Some 42L), _)))
                                                  ))
                                                ],
                                              _))
                                           ],
                                         _))
                                     ))
                                   ],
                                 { s =
                                   (Block
                                      (_,
                                       [{ s =
                                          (ExprStmt (
                                             { e =
                                               (Call (
                                                  { e =
                                                    (N
                                                       (Id (("print", _),
                                                          { 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
                                                               (_,
                                                                ("foo", _), _)));
                                                         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 }));
                             (CasesAndBody
                                ([(Case (_,
                                     (PatTuple
                                        (_,
                                         [(PatTuple
                                             (_,
                                              [(PatKeyVal (
                                                  (OtherPat (
                                                     ("PatInterpolatedString",
                                                      _),
                                                     [(E
                                                         { e =
                                                           (Call (
                                                              { e =
                                                                (Special
                                                                   ((
                                                                    ConcatString
                                                                    (FString
                                                                    "f")), _));
                                                                e_id = 0;
                                                                e_range =
                                                                None;
                                                                is_implicit_return =
                                                                false;
                                                                facts =
                                                                <opaque> },
                                                              (_,
                                                               [(Arg
                                                                   { e =
                                                                    (L
                                                                    (String
                                                                    (_,
                                                                    ("a", _),
                                                                    _)));
                                                                    e_id = 0;
                                                                    e_range =
                                                                    None;
                                                                    is_implicit_return =
                                                                    false;
                                                                    facts =
                                                                    <opaque>
                                                                    })
                                                                 ],
                                                               _)
                                                              ));
                                                           e_id = 0;
                                                           e_range = None;
                                                           is_implicit_return =
                                                           false;
                                                           facts = <opaque> })
                                                       ]
                                                     )),
                                                  (PatLiteral
                                                     (Int ((Some 42L), _)))
                                                  ))
                                                ],
                                              _))
                                           ],
                                         _))
                                     ))
                                   ],
                                 { s =
                                   (Block
                                      (_,
                                       [{ s =
                                          (ExprStmt (
                                             { e =
                                               (Call (
                                                  { e =
                                                    (N
                                                       (Id (("print", _),
                                                          { 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
                                                               (_,
                                                                ("foo", _), _)));
                                                         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 }));
                             (CasesAndBody
                                ([(Case (_,
                                     (PatTuple
                                        (_,
                                         [(PatTuple
                                             (_,
                                              [(PatKeyVal (
                                                  (PatLiteral
                                                     (Int ((Some 1L), _))),
                                                  (PatLiteral
                                                     (Int ((Some 42L), _)))
                                                  ))
                                                ],
                                              _))
                                           ],
                                         _))
                                     ))
                                   ],
                                 { s =
                                   (Block
                                      (_,
                                       [{ s =
                                          (ExprStmt (
                                             { e =
                                               (Call (
                                                  { e =
                                                    (N
                                                       (Id (("print", _),
                                                          { 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
                                                               (_,
                                                                ("foo", _), _)));
                                                         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 }));
                             (CasesAndBody
                                ([(Case (_,
                                     (PatTuple
                                        (_,
                                         [(PatTuple
                                             (_,
                                              [(PatKeyVal (
                                                  (OtherPat (
                                                     ("PatComplex", _),
                                                     [(P
                                                         (PatLiteral
                                                            (Int
                                                               ((Some 1L), _))));
                                                       (Tk _);
                                                       (P
                                                          (PatLiteral
                                                             (Int
                                                                ((Some 2L), _))))
                                                       ]
                                                     )),
                                                  (PatLiteral
                                                     (Int ((Some 42L), _)))
                                                  ))
                                                ],
                                              _))
                                           ],
                                         _))
                                     ))
                                   ],
                                 { s =
                                   (Block
                                      (_,
                                       [{ s =
                                          (ExprStmt (
                                             { e =
                                               (Call (
                                                  { e =
                                                    (N
                                                       (Id (("print", _),
                                                          { 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
                                                               (_,
                                                                ("foo", _), _)));
                                                         e_id = 0;
                                                         e_range = None;
                                                         is_implicit_return =
                                                         false;
                                                         facts = <opaque> })
                                                     ],
                                                   _)
                                                  ));
                                               e_id = 0; e_range = None;
                                               is_implicit_return = false;
                                               facts = <opaque> },
                                             _));
                                          s_range = None }
                                         ],
                                       _));
                                   s_range = None }))
                             ]
                           ));
                        s_range = None }
                       ],
                     _));
                 s_range = None })
            })));
   s_range = None }
  ]