why do we want tile_pair_t in public namespace? seems appropriate as being member of Map class