anchor.diff:           to_list/1,
            is_member/2,
            is_empty/1,
  +         is_full/1,
            insert/2,
            delete/2,
            intersection/2,
  
positive.code:     Set = ?set:from_binary(Bitfield, 4),
      ?assertEqual(Bitfield, ?set:to_binary(Set)).
  
  -ifdef(PROPER).
  prop_min() ->
      ?FORALL({Elem, Size},
      ?SUCHTHAT({E, S}, {nat(), nat()}, E < S andalso S > 1),
          Elem == ?set:min(?set:from_list([Elem], Size))).
  
  prop_min_test() ->
      proper:quickcheck(prop_min()).
  
  -endif.
  -endif.
  
negative.code:     <<Memberbits:Size>> = Elements,
      Memberbits == 0.
  
  
  %% @doc Returns true if there are no members missing from the set
  %% @end
  -spec is_full(pieceset()) -> boolean().
  is_full(Pieceset) ->
      #pieceset{elements=Elements} = Pieceset,
      is_full_(Elements).
  
  is_full_(<<Pieces:16, Rest/bitstring>>) ->
      (Pieces == 16#FFFF) andalso is_full_(Rest);
  is_full_(<<Pieces:8, Rest/bitstring>>) ->
      (Pieces == 16#FF) andalso is_full_(Rest);
  is_full_(<<1:1, Rest/bitstring>>) ->
      is_full_(Rest);
  is_full_(<<>>) ->
      true;
  is_full_(_) ->
      false.
  
  
  
  %% @doc
  %% Insert a piece into the piece index. If the piece index is
  %% negative or larger than the size of this piece set, this
  