anchor.diff:  high_card([_Value|Rest], Max, Winners, On) -> % lower
     high_card(Rest, Max, Winners, On + 1).
   
  +score_cards(Cards, Trump) ->
  +  S = scorer(Trump),
  +  lists:foldl(fun(C, Sum) -> S(C) + Sum end, 0, Cards).
  +
  +scorer(Trump) ->
  +  fun(Card) ->
  +      case Card#card.suit == Trump of
  +        true -> score_trump(Card#card.value);
  +        false -> score_nontrump(Card#card.value)
  +      end
  +  end.
  +
  +score_trump(?tarabish_JACK) ->
  +  20;
  +score_trump(9) ->
  +  14;
  +score_trump(OtherValue) ->
  +  score_nontrump(OtherValue).
  +
  +score_nontrump(?tarabish_ACE) ->
  +  11;
  +score_nontrump(10) ->
  +  10;
  +score_nontrump(?tarabish_KING) ->
  +  4;
  +score_nontrump(?tarabish_QUEEN) ->
  +  3;
  +score_nontrump(?tarabish_JACK) ->
  +  2;
  +score_nontrump(_Other) ->
  +  0.
  +
   nontrump_higher(?tarabish_ACE, _Value) ->
     true;
   
  
positive.code:     ?_assertEqual(true, nontrump_higher(?tarabish_KING, ?tarabish_JACK)),
      ?_assertEqual(true, nontrump_higher(9, 8))
    ].
  
negative.code: %%
  %% Exported Functions
  %%
  -export([new/0, shuffle/1, high_card/1, nontrump_higher/2, trump_higher/2,
      score_cards/2]).
  
  %%
  %% API Functions
  