anchor.diff:  %% Size pieces, as a set returned from new/1 is.
   %% The bitfield is expected to not be padded with more than 7 bits.
   %% @end
  +-spec from_binary(binary(), pos_integer()) -> pieceset().
   from_binary(Bin, Size) when is_binary(Bin) ->
       PaddingLen = paddinglen(Size),
       <<_:Size, PaddingValue:PaddingLen>> = Bin,
  
positive.code: %% negative or larger than the size of this piece set, this
  %% function exists with the reason badarg.
  %% @end
  insert(PieceIndex, _) when PieceIndex < 0 ->
      error(badarg);
  insert(PieceIndex, Pieceset) ->
  
negative.code: -export([new/1,
           from_binary/2,
           to_binary/1,
           from_list/2,
           to_list/1,
           is_member/2,
           insert/2,
           intersection/2,
           difference/2,
           size/1]).
  
  -record(pieceset, {
      size :: pos_integer(),
  