fromList package:MonadRandom
Sample a random value from a weighted list. The list must be non-empty
and the total weight must be non-zero.
Sample a random value from a weighted list. Return Nothing if
the list is empty or the total weight is nonpositive.