> I think we're talking past each other.

I do apologize.

> Normally, this would be obtained from an override of -methodSignatureForSelector:, but we give the runtime default information by explicitly implementing the selector.

I did a few more tests, and I had some facts wrong. The only thing I would correct about your above statement is that if the selector is declared by a protocol adopted by the receiver, `_objc_msgForward` chooses the protocol's type encoding over the one we declare.