anchor.diff:      ?LOG("{Pattern_schema} = ~p~n", [Pattern_Schema]),
       ?LET(N,natural(), pattern_gen(Pattern_Schema,N)).
   
  +-spec pattern_gen_range([string()], integer()) -> eqc_gen:gen([string()]). 
   pattern_gen_range(Pattern_Schema, Min) ->
       ?LOG("{Pattern_schema} = ~p~n", [Pattern_Schema]),
       ?LET(N,natural_gte(Min), pattern_gen(Pattern_Schema,N)).
   
  +-spec create_patterns(undefined | [string()])-> ([string] | []).
   create_patterns(undefined) ->
   [];
   
  
positive.code: delete_nth_element(N, [H|T], Res) ->
      delete_nth_element(N-1, T, [H|Res]).
  
  concat_and_reverse([],Res) ->
      lists:reverse(Res);
  
  concat_and_reverse([H|T], Res) ->
      concat_and_reverse(T, [H|Res]).
  
  ceiling(X) ->
      T = trunc(X),
      case (X - T) of
  
negative.code:             [ {randString(), {struct,[Schema]}} | additional_gen(AdditionalSchema,N-1)]
      end.
  
  -spec create_additionals(json:json_term(), integer()) -> [string()].
  create_additionals({},N) ->
      additional_gen({},N);
  
  