if the given list is empty, it will return a KeySetAll, otherwise it will build a KeySetSome with those keys
list of keys for the KeySet
if the given list is empty, it will return a KeySetAll, otherwise it will build a KeySetSome with those keys