I think i understood why Merkle tree was made by Satoshi
Yes, when client software loads/checks the blockchain it can find spent/unspent transactions. The data of these transactions can be needed only for checking a transaction chain to genesis block. So client software starts to check from output tips of every transaction from upper block to down, and bodies (payloads) of most old transactions can be eliminated from local blockchain data at disk but we have a hashed Merkle root in every header block and we can check is there transaction id in same block or not. Because unspent (and spent) transactions has inputs as transaction id + output index I think this info will be enough to trust because transaction id checked by miners and approved by them by hashing block header with Merkle root. But after compressing same method as i understood we cannot to make fully checking again because we will not have payload (array of inputs [ txid, output_index ] ) of oldest eliminated trafnsactions we will have only info - "is there tx or not in such block".
So in future the Bitcoin Core can compress the local blockchain and eliminate all old spent transactions.
Right?