I've recently spent quite a bit of time looking at 3G protocol traces and I already hate them. Why do they have to use ASN.1 PER everywhere? The 2G / 2.5G protocols are much easier to understand. You can look at the hexdump and decode it in your head. You can read the spec and understand what they do. You can implement them without thinking too much. But 3G with all its ASN.1 crap, sometimes even unaligned PER encoded? Simply impossible.
Why do people want to save a couple of bits, especially on the back-haul interfaces in the core network that shouldn't matter - at least not if you can reduce the computational complexity for the involved network entities _and_ lower the R&D cost due to easier debugging for everyone who ever implements or deploys such protocols.