anchor.diff:  %% @doc
   %% Convert an ordered list of piece indexes to a piece set.
   %% @end
  --spec from_list(list(pos_integer()), pos_integer()) -> pieceset().
  +-spec from_list(list(non_neg_integer()), non_neg_integer()) -> pieceset().
   from_list(List, Size) ->
       Pieceset = new(Size),
       from_list_(List, Pieceset).
  
positive.code: %% false if not. If the piece index is negative or is larger
  %% than the size of this piece set, the function exits with badarg.
  %% @end
  -spec is_member(pos_integer(), pieceset()) -> boolean().
  is_member(PieceIndex, _) when PieceIndex < 0 ->
      error(badarg);
  is_member(PieceIndex, Pieceset) ->
  
negative.code: %% negative or larger than the size of this piece set, this
  %% function exists with the reason badarg.
  %% @end
  -spec insert(non_neg_integer(), pieceset()) -> pieceset().
  insert(PieceIndex, _) when PieceIndex < 0 ->
      error(badarg);
  insert(PieceIndex, Pieceset) ->
  