Functions for choosing or generating random values.
The functions in this module are primarily used when implementing a generator module.
@spec random(Enum.t()) :: any()
@spec uniform() :: float()