anchor.diff:  
   deck() ->
       ct:pal("I'm alive!"),
  -    Deck= lists:flatten(lists:duplicate(8, generate_deck())),
   
  -    loop(shuffle_deck(Deck)).
  +    loop(generate_deck()).
   
   loop(Deck) ->
       receive
  
positive.code: -module(deck).
  -export([init/0, stop/1, draw/1, count/1]).
  
  -record(card, {value, suite}).
  
  init() ->
      spawn(fun() -> deck() end).
  
negative.code:     end.
  
  generate_deck() ->
      Deck = lists:flatten(
               lists:duplicate(?NUM_DECKS, [{X, Y} ||
                                            X <- lists:seq(2, 14),
                                            Y <- [club, heart, diamond, spade]])),
      shuffle_deck(Deck).
  
  shuffle_deck(Deck) ->
      Random = lists:sort(
                 [{rand:uniform()*100*100*100, Y} || Y <- Deck]),
      [X || {_,X} <- Random].
  