Pruning non-transaction data instead of pruning whole blocks?

Ah my bad it was in substance contained into your link sjors:

This PR does two things when running in prune mode: (a) assume witness merkle roots to be valid for assumed-valid blocks and (b) request assumed-valid blocks without MSG_WITNESS_FLAG.

In theory this is a good idea, because witnesses are not validated (i.e. they are assumed valid up to a certain block -assumevalid) and get pruned anyway when running in prune mode, so not downloading them (for assumed-valid blocks) reduces the bandwidth that is needed for IBD (don’t have any numbers on this yet).

One downside is that nodes serving blocks without witnesses can’t serve them directly from disk. They have to un-serialize and re-serialize without the witnesses before sending them."