anchor.diff:  %% ----------------------------------------------------------------------
   %% API functions
   %% ----------------------------------------------------------------------
  -
  -%% @doc Create a chess board with the all chessmans at their start point.
  --spec new() -> board().
  -new() ->
  -    {
  -     %%  a       b        c       d       e       f        g       h
  -     {?brook,?bknight,?bbishop,?bqueen,?bking,?bbishop,?bknight,?brook}, % 8
  -     {?bpawn,?bpawn,  ?bpawn,  ?bpawn, ?bpawn,?bpawn,  ?bpawn,  ?bpawn}, % 7
  -     {?empty,?empty,  ?empty,  ?empty, ?empty,?empty,  ?empty,  ?empty}, % 6
  -     {?empty,?empty,  ?empty,  ?empty, ?empty,?empty,  ?empty,  ?empty}, % 5
  -     {?empty,?empty,  ?empty,  ?empty, ?empty,?empty,  ?empty,  ?empty}, % 4
  -     {?empty,?empty,  ?empty,  ?empty, ?empty,?empty,  ?empty,  ?empty}, % 3
  -     {?wpawn,?wpawn,  ?wpawn,  ?wpawn, ?wpawn,?wpawn,  ?wpawn,  ?wpawn}, % 2
  -     {?wrook,?wknight,?wbishop,?wqueen,?wking,?wbishop,?wknight,?wrook}  % 1
  -     %%  a       b        c       d       e       f        g       h
  -    }.
   
   %% @doc Do the next move.
   -spec move(History :: echessd_game:history(), Ply :: echessd_game:ply()) ->
  
positive.code:         true ->
               ?black
       end}.
  
  %% @doc Helper for the move_unsafe/2 fun.
  -spec move_unsafe(Board :: board(), SrcCoord :: coord(),
  
negative.code:               end
        end, all_cells()).
  
  %% @doc Return chess board with chessmans in their current positions,
  %% a list of all captured chessmans and the color of the next move.
  -spec from_scratch(History :: echessd_game:history()) ->
  