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