These `assert`s at least have an error message (i.e. `assert!(!expand, "encoding tuple expanding type parameter")` or something), but would preferable call one of the `.bug` or `.span_bug` (or maybe even the `unimpl` ones?) methods on `cx.tcx.sess` rather than just having plain assert (so that users have some idea of what piece of code is causing the ICE).

Unless of course you can absolutely *guarantee* that it will never be hit.