We have 3 different behaviors currently:
X.skip throws InvalidArgOutOfRange when count > n
X.take throws InvalidOperation when count > n
X.sample throws InvalidArg when count > n
We should unify this, updating the code along with RFCs probably.
Originally posted by @Lanayx in #17277 (comment)