I guess it's inadvertent that distinct, exceptionally among sequence functions, does not take a set. distinct's step function uses destructuring to peek at the first item in the collection; destructuring uses nth; and nth does not work with sets. (nth's docstring likewise calls the argument "coll", but enumerates the concrete types allowed.)
Instead of ruminating deeply about pros and cons of fixing distinct only, the matter could be addressed more deeply in nth iteslf, resolving this quirk far-and-wide. Already, nth tests several cases, the last being O(n) time for Sequential things. Why not add another case to cover seq'able things? Unlike contains?, nth has no qualms about brute force. And, because nth is the tool of destructuring, it would not be very brutish (destructuring most often reach for only the very few first members) and the benefits would be widespread.