title: Why JSONSchema allows different types constraints simultaneously
body: <p>Say I want to restrain JSON object to be an integer > 42 or an array of such integers. </p>
  
  <p>Valid draft-04 schema </p>
  
  <pre><code>{
      "minimum" : 42,
      "items" : { "type":"integer", "minimum" : 42 }
  }
  </code></pre>
  
  <p>validates <code>42</code> and <code>[52, 62]</code> but also <code>"hello"</code>. So it's wrong way to construct schema. </p>
  
  <p>Besides the correct schema contain redundant "type" field, since "items" implies the array type: </p>
  
  <pre><code>{
      "oneOf": [
         { 
            "type": "integer", 
            "minimum" : 42 
         },
         {  
            "type": "array", 
            "items" : { "type":"integer", "minimum" : 42 }
         }
       ]
  
  }
  </code></pre>
  
  <h2>Question</h2>
  
  <p>What is the reason for allowing different type constraints at the same time? </p>
  
  <p>Is it a bad design or I just miss something?</p>