SILGen is generating code with “shadow” requirements:
convention(witness_method: ApplyRegStruct) <τ_0_0 where τ_0_0 == Type> (@inout Array<Type>) -> () {
// no use of τ_0_0 inside
In this case we have an empty substitution map but a polymorphic function type
We should relax the assert when creating apply instructions to support this case.