OP_CHECKSIG: reasoning behind construction of message to be signed
I think, since with some sighash types, the scriptPubKey is not part of the txid. So it is not automatically taken into consideration when the txid is already part of the hash.