pub fn analyze_function_bt<'a>( func_name: Symbol, params: &[(Symbol, &'a TypeExpr<'a>)], body: &[Stmt<'a>], arg_bts: &[BindingTime], funcs: &HashMap<Symbol, FuncDef<'a>>, cache: &mut BtaCache, ) -> BtaResult