"es lenyegesen egyszerubb mondjuk egy szoveges alapu XML-t vagy barmilyen kommunikaciot debugolni, mint egy rakat TCP csomagot"
Xml-t sem notepadban debuggolsz, arra is minimum olyan programot használsz, ami szépen színezi a doksit. Jobb esetben lehet csukogatni a tageket, megjeleníti a dokumentum fát, figyelmeztet a szintaktikai hibákra, vagy meg lehet neki adni a DTD/XSD-t és az alapján validálja is.
Ha pedig xml-re lehet ilyen eszközt írni, akkor binárisra is. Mondjuk megadod neki az adatformátum leírását, az szépen színezi neked a hexa outputot, stringeket, számokat emberi formátumban is megjeleníti, stb.
"akkor mondok meg egyet: tipusok merete"
Ez kb. olyan hiba, mint szintaktikailag hibás xml-t generálni (endianness meg kb. a hibás kódolású xml). Amikor specifikálod a bináris formátumot, akkor nem azt adod meg hogy int, hanem hogy int32 és meg is van oldva a probléma.