-spec bernoulli(reference(), [integer()], atom()) -> {ok, reference()} | {error, term()}.
-spec beta(reference(), reference(), [integer()], atom()) -> {ok, reference()} | {error, term()}.
-spec categorical(reference(), [integer()], atom()) -> {ok, reference()} | {error, term()}.
-spec choice(reference(), integer(), boolean()) -> {ok, reference()} | {error, term()}.
-spec exponential(reference(), [integer()], atom()) -> {ok, reference()} | {error, term()}.
-spec gamma(reference(), reference(), [integer()], atom()) -> {ok, reference()} | {error, term()}.
-spec key(integer()) -> {ok, reference()} | {error, term()}.
-spec multinomial(reference(), integer(), [integer()], atom()) -> {ok, reference()} | {error, term()}.
-spec normal([integer()], number(), number()) -> {ok, reference()} | {error, term()}.
-spec permutation(integer()) -> {ok, reference()} | {error, term()}.
-spec permutation(reference(), integer()) -> {ok, reference()} | {error, term()}.
-spec poisson(reference(), [integer()], atom()) -> {ok, reference()} | {error, term()}.
-spec randint(integer(), integer(), [integer()], atom()) -> {ok, reference()} | {error, term()}.
-spec seed(integer()) -> ok | {error, term()}.
-spec shuffle(reference(), integer()) -> {ok, reference()} | {error, term()}.
-spec uniform([integer()], number(), number(), atom()) -> {ok, reference()} | {error, term()}.