RankType is used in static variables in parser.cpp, thus I think there shouldn't be any non-POD type in it.