I understand the Ethereum block header contains a Merkle Patricia Trie (MPT) root for the global state, one for receipts (which I don't understand but am not focussed on for now), and one for all the transactions in the block.
I also understand why an MPT might be more efficient to use for the state tree, namely because it makes it easier to secure data that is structured around accounts ids and referenced by account id.
However I don't understand why the transaction trie for the block needs to be an MPT instead of a plain Merkle Trie. Presumably you can just use the transactions list in a block to modify the state trie, and be assured that the transaction list is valid with a plain Merkle Trie root.
I can't see any benefit of structuring transactions as a Patricia Trie where transactions would presumably be organised by their hash which is unique and which points to data that will never change.
So why not just use a plain Merkle Trie for transactions? Is it just to keep consistency with the way Storage and State tries are structured (and in which the benefit of the MPT structure is clearer)?