std::random_device can fail! ``` terminate called after throwing an instance of 'std::runtime_error' what(): random_device::random_device(const std::string&): device not available ``` We need to support a fallback path in this case, I didn't realize this was a possibility.