Weight-based random sampling

FYI:smile:

Of course, one should be able to implement some functions in Enum on their own (for lists at least). map , reduce , reverse , concat , those are my personal favorites …

When learning to a certain degree it can be helpful to make Enum off-limits until recursion (body and tail) is well understood - otherwise Enum can be come a crutch.