pub fn make_function( arena: &mut TypeArena, self_type: Option<TypeId>, param_types: Vec<TypeId>, param_names: Vec<String>, ret_types: Vec<TypeId>, checked: bool, ) -> TypeId