cleanup, added RandomElem
noop
cleanup
cleanup
replaced SimpleGenerator with ExtendedImpl
replaced .unique with Unique()
replaced .reversed with Reverse()