anchor.diff:       %%                objectType()]).
   
   
  --spec stringType() -> eqc_gen:gen(string()).
  +-spec stringType() -> json:json_term().
   stringType() ->
       {struct,[{<<"type">>,<<"string">>}]}.
   
  +-spec numberType() -> json:json_term().
   numberType() ->
       {struct,[{<<"type">>,<<"number">>}]}.
   
  +-spec integerType() -> json:json_term().
   integerType() ->
       {struct,[{<<"type">>,<<"integer">>}]}.
   
  --spec booleanType() -> eqc_gen:gen(boolean()).
  +-spec booleanType() -> json:json_term().
   booleanType() ->
       {struct,[{<<"type">>,<<"boolean">>}]}.
   
  +-spec objectType() -> json:json_term().
   objectType() ->
     ?LAZY(?LET(RandType, selectType(),
       {struct,[{<<"type">>,<<"object">>},{<<"additionalProperties">>,
                                           {struct,[{<<"type">>,RandType}]}}]})).
   
  +-spec arrayType() -> json:json_term().
   arrayType() ->
       ?LAZY(?LET(RandType, selectType(),
            {struct,[{<<"type">>,<<"array">>},
                     {<<"additionalItems">>,<<"false">>},
                     {<<"items">>,{struct,[{<<"type">>,RandType}]}}]})).
   
  +-spec nullType() -> json:json_term().
   nullType() ->
        {struct,[{<<"type">>,<<"null">>}]}.
   
  
positive.code: boolean() ->
      eqc_gen:bool().
  
  
  null() ->
      null.
  
  
negative.code:             eqc_gen:choose(Min,Max)
      end.
  
  -spec randIntPositive(integer(), integer()) -> eqc_gen:gen(integer()).
  randIntPositive(Min,Max) when (Min > 0) and (Max > 0) ->
         case {Min,Max} of 
              
  