anchor.diff:  
   -ifdef(PROPER).
   prop_min() ->
  -    ?FORALL({ET, ST},
  -    ?SUCHTHAT({E, S}, {non_neg_integer(), non_neg_integer()}, S > 1),
  +    ?FORALL({Elem, Size},
  +    ?SUCHTHAT({E, S}, {non_neg_integer(), pos_integer()}, E < S),
       begin
  -        Elem = erlang:min(ET, ST),
  -        Size = erlang:max(ET, ST),
           Elem == ?set:min(?set:from_list([Elem], Size))
       end).
   
   prop_full() ->
  -    ?FORALL(Size, nat(),
  +    ?FORALL(Size, pos_integer(),
       begin
           All = lists:seq(0, Size - 1),
           Set = ?set:from_list(All, Size),
  
positive.code:     Elements = <<0:Size>>,
      #pieceset{size=Size, elements=Elements}.
  
  %% @doc
  %% Create a piece set based on a bitfield. The bitfield is
  %% expected to contain at most Size pieces. The piece set
  
negative.code: -spec is_full(pieceset()) -> boolean().
  is_full(Pieceset) ->
      #pieceset{elements=Elements} = Pieceset,
      is_bitstring(Elements) orelse error(badarg),
      is_full_(Elements).
  
  is_full_(<<Pieces:16, Rest/bitstring>>) ->
  