anchor.diff:  	    end).
   
   prop_protobuffs_empty() ->
  -    ?FORALL({Real1, Float1, Int1, 
  -	     Int2, Int3, Int4, 
  -	     Int5, Int6, Int7, 
  -	     Int8, Int9, Int10, 
  -	     Val1, Str1, Bit1},
  -	    {default(undefined, real()),
  +    ?FORALL({Empty},
  +	    {{empty,default(undefined, real()),
  +		    default(undefined, real()),
  +		    default(undefined, sint32()),
  +		    default(undefined, sint64()),
  +		    default(undefined, uint32()),
  +		    default(undefined, uint64()),
  +		    default(undefined, sint32()),
  +		    default(undefined, sint64()),
  +		    default(undefined, uint32()),
  +		    default(undefined, uint64()),
  +		    default(undefined, sint32()),
  +		    default(undefined, sint64()),
  +		    default(undefined, bool()),
  +		    default(undefined, string()),
  +		    default(undefined, binary())}},
  +	    begin
  +		Decoded = empty_pb:decode_empty(empty_pb:encode_empty(Empty)),
  +		compare_messages(Empty,Decoded)
  +	    end).
  +
  +check_with_default(Expected,Result,undefined,Fun) ->
  +    Fun(Expected,Result);
  +check_with_default(undefined,Result,Default,Fun) ->
  +    Fun(Default,Result);
  +check_with_default(Expected,Result,_Default,Fun) ->
  +    Fun(Expected,Result).
  +
  +prop_protobuffs_has_default() ->
  +    ?FORALL({Withdefault},
  +	    {{withdefault,default(undefined, real()),
   	     default(undefined, real()),
   	     default(undefined, sint32()),
   	     default(undefined, sint64()),
  
positive.code:     ?FORALL({Repeater},
  	    {repeater_person()},
  	    begin
  		repeater_pb:decode_person(repeater_pb:encode_person(Repeater)),
  		true
  	    end).
  
  prop_protobuffs_packed_repeated() ->
      ?FORALL({Repeater},
  	    {repeater_person()},
  	    begin
  		packed_repeated_pb:decode_person(packed_repeated_pb:encode_person(Repeater)),
  		true
  	    end).
  
  special_words() ->
  
negative.code:     default(undefined,{location,Str,Str}).
  
  prop_protobuffs_simple() ->
      ?FORALL({Person},
  	    {{person,string(),string(),string(),sint32(),location()}},
  	    begin
  		Decoded = simple_pb:decode_person(simple_pb:encode_person(Person)),
  		compare_messages(Person,Decoded)
  	    end).
  
  phone_type() ->
  