pub fn instantiate_canonical_state<D, I, T>( delegate: &D, span: <I as Interner>::Span, param_env: <I as Interner>::ParamEnv, orig_values: &mut Vec<<I as Interner>::GenericArg>, state: Canonical<I, State<I, T>>, ) -> Twhere T: TypeFoldable<I>, D: SolverDelegate<Interner = I>, I: Interner,