instantiate(_:in:cause:updating:)

private mutating func instantiate(
  _ subject: AnyType, in contextOfUse: InstantiationContext, cause: ConstraintOrigin,
  updating substitutions: inout GenericArguments
) -> InstantiatedType

Replaces the generic parameters in subject by fresh variables if their environments don’t contain contextOfUse, assigning cause to instantiation constraints.