anchor.diff:  %% and a new state.
   
   -spec uniform_s(state()) -> {float(), NewS :: state()}.
  -uniform_s({Alg = #alg{uniform=Uniform}, AS0}) ->
  +uniform_s({Alg = #{uniform:=Uniform}, AS0}) ->
       {X, AS} = Uniform(AS0),
       {X, {Alg, AS}}.
   
  
positive.code: -spec export_seed() -> undefined | {alg(), alg_seed()}.
  export_seed() ->
      case seed_get() of
  	{#alg{type=Alg}, Seed} -> {Alg, Seed};
  	_ -> undefined
      end.
  
  -spec export_seed(state()) -> {alg(), alg_seed()}.
  export_seed({#alg{type=Alg}, Seed}) -> {Alg, Seed}.
  
  %% seed0/0: returns the default state, including the state values
  %% and the algorithm handler.
  
negative.code: %% This depends on the algorithm handler function
  -type alg_seed() :: any().
  %% This is the algorithm handler function within this module
  -type alg_handler() :: #{type      => alg(),
  			 uniform   => fun(),
  			 uniform_n => fun()}.
  
  %% Internal state
  -type state() :: {alg_handler(), alg_seed()}.
  
  