anchor.diff:                  [_ | _] ->
                       %% is there is check?
                       case is_cell_under_attack(
  -                           Board, KingStart, Enemies) of
  +                           Board, KingStart, Color) of
                           true -> [];
                           _ -> PossibleCastlings
                       end;
  
positive.code:                   if Color == ?white -> "e1";
                       true -> "e8"
                    end),
              Enemies = all_enemies(Board, Color),
              PossibleCastlings =
                  %% castling long
                  case search_rook(Board, KingStart, {-1, 0}, Color) of
  
negative.code:     [possible_(B, F, C, ?bishop, History),
       possible_(B, F, C, ?rook, History)];
  possible_(B, F, C, ?knight, _History) ->
      [is_empty_or_enemy(B, C, crd_inc(F, Step)) ||
          Step <- knight_steps()];
  possible_(B, F, C, ?king, History) ->
      [is_empty_or_enemy(B, C, crd_inc(F, {-1, -1})),
       is_empty_or_enemy(B, C, crd_inc(F, {-1, 0})),
  