In order to useFNameas a key to aTSortedMapyou have to explicitly choose which comparison implementation you want to use. Declaring the type here helps minimize the confusion over why there are so many template arguments.