anchor.diff:      %%     The JSON null value. 
       <<"null">> ->
         null();
  +    
  +    %% array
  +    %%     A JSON array. 
  +    <<"array">> ->
  +      MaxItems = jsonschema:keyword(Schema,"maxItems"),
  +      MinItems = jsonschema:keyword(Schema,"minItems",0),
  +         
  +      AdditionalItems = jsonschema:keyword(Schema,"additionalItems",{}),
  +      ?LOG("AdditionalItems: ~p ~n",[AdditionalItems]),
  +      _UniqueItems = jsonschema:keyword(Schema, "uniqueItems",false),
  +      
  +      case jsonschema:items(Schema) of
  +	{itemSchema, ItemSchema} ->
  +              case AdditionalItems of
  +                  {} ->
  +                      ?LOG("ArrayOfAny~n",[]),
  +                      arrayOfAny(ItemSchema, {MinItems,MaxItems});
  +                  true ->
  +                      arrayOfAny(ItemSchema, {MinItems,MaxItems});
  +                  false ->
  +                      array(ItemSchema, {MinItems,MaxItems})
  +              end;
  +	{itemsTemplate, ItemsTemplate} ->
  +	  template(ItemsTemplate)
  +      end;
       
       
       %% object
  
positive.code:         %%     Any JSON data, including "null".
          <<"any">> ->
            ?LOG("'any' keyword found",[]),
  	    anyQ();
  
  
          %% Union types
  
negative.code: gen_typed_schema(Schema,Options) ->
    case jsonschema:type(Schema) of
      
  
      %% boolean
      %%     A JSON boolean. 
      <<"boolean">> ->
  