Exactly what it says on the tin! This is clearly not the end of the road in this direction, the parameters could be merged far more with the use of CallEvent or a better value type in the CallDescriptionMap, but this was shockingly difficult enough on its own. I expect that simplifying the file further will be far easier moving forward.
The end goal is to research how we could create a more mature checker interaction infrastructure for more complicated C++ modeling, and I'm pretty sure that being able successfully split up our giants is the first step in this direction.
Also... as to why I added so much LLVM_UNREACHABLE annotations, I'll provide the following image:
One could explain why this restroom looks like this -- but you could guess what the horrifying story must have been :^)
Excellent, we should totally do this more often wherever necessary.