https://rpython.pythonprogramminghelp.com/3-greatest-hacks-for-sampling-distributions-and-ses/