anchor.diff:  %% NOTE: this module will replace OTP random module
   -module(random).
   
  --export([seed/0, seed/1, seed/2, seed/3, seed0/0, seed0/1,
  +-export([seed0/0,
  +	 %% New functions
  +	 seed0/1, make_seed/1, make_seed/2, export_seed/0, export_seed/1,
            uniform/0, uniform/1, uniform_s/1, uniform_s/2]).
   
  --export([get_algorithm/0, get_algorithm/1]).
  +-export([seed/0, seed/1, seed/3]). %% Deprecate ?
   
   -define(DEFAULT_ALG_HANDLER, as183).
   -define(SEED_DICT, random_seed).
  
positive.code: 
  -opaque(state). %% Implementation state
  
  %% This depends on the algorithm handler function
  -type alg_state() :: any().
  %% This is the algorithm handler function within this module
  -type alg_handler() :: #alg{}.
  %% Internal state
  -type state() :: {alg_handler(), alg_state()}.
  
  -type alg() :: as183 | exs64 | exsplus | exs1024 | sfmt | tinymt.
  
  
negative.code: -spec seed0(alg()) -> state().
  
  seed0(Alg) ->
      make_seed(Alg, {3172, 9814, 20125}).
  
  %% seed/0: seeds RNG with default (fixed) state values and the algorithm handler
  %% in the process dictionary, and returns the old state.
  