anchor.diff:      end.		   
   
   
  +-spec arrayGen (json:json_term(), integer()) -> eqc_gen:gen(json:json_term()).
   arrayGen(_Schema,0) ->
       [];
   
  
positive.code: 
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  %% Natural numbers
  natural() ->
      eqc_gen:nat().
  
  positive() ->
      natural_gte(1).
  
  natural_gte(K) ->
      ?LET(N,natural(),N+K).
      
      
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  %% Number generators
  number() ->
      eqc_gen:oneof([eqc_gen:int(),eqc_gen:real()]).
  
  number_positive() ->
      ?SUCHTHAT(N, eqc_gen:oneof([eqc_gen:int(),eqc_gen:real()]), N>=0).
  
  number_mul(Mul) ->
      ?LET(N, integer(), Mul * N).
  
  number_mul_min(Mul,Min,MinExc) ->
      MinMul = Mul * (1 + floor( (Min-1) / Mul)),
      case MinExc of
  
negative.code: 
  
  %random integer generator between Min and Max values
  
  -spec randInt (integer(), integer()) -> eqc_gen:gen(integer()).
  randInt (Min, Max) ->
  	eqc_gen:choose(Min,Max).
  
  %maybe its not very efficient
  
  -spec randFlt(float(), float()) -> eqc_gen:gen(float()).
  randFlt (Min, _) ->
      ?LET(Flt, eqc_gen:real(), Min + Flt).
  
  %% candidate for removal
  propname() ->
      name().
  
  
  % candidate for removal
  name() ->
      eqc_gen:non_empty(eqc_gen:list(eqc_gen:choose($a,$z))).
  
  