The TypeNames class is using auto-boxing on int numbers used as keys. This is causing some data duplication according to memory dumps and should be trivial to avoid.