introduce TypedSet
add Map::entrySet