title: ForAll in scala check skips some input and do not respect containers size
body: <p>I am new to scala check and I want to test the following piece of my application. I want to generate 30 and 20 random events and check if my application code correctly computes a result</p>
  
  <pre><code>// generate 30 random events
  val eventGenerator: Gen[Event] = for {
    d &lt;- Gen.oneOf[String](Seq("es1", "es2", "es3"))
    t &lt;- Gen.choose[Long](minEvent.getTime, maxEvent.getTime)
    s &lt;- Gen.oneOf[String](Seq("s1", "s2", "s3", "s4", "s5", "s6", "s7"))} yield Event(d, t, s)
  val eventsGenerator: Gen[List[VpSearchLog]] = Gen.containerOfN[List, VpSearchLog](30, eventGenerator)
  
  // generate 20 random instances
  val instanceGenerator: Gen[Instance] = for {
    d &lt;- Gen.oneOf[String](Seq("es1", "es2", "es3"))
    t &lt;- Gen.choose[Long](minInstance.getTime, maxInstance.getTime)} yield Instance(d, new Timestamp(t))
  val instancesGenerator: Gen[List[Instance]] = Gen.containerOfN[List, Instance](20, instanceGenerator)
  
  val p: Prop = forAll(instancesGenerator, eventsGenerator) { (i, e) =&gt;
  
    println(i.size)
    println(e.size)
    println()
    val instancesWithFeature = computeExpected(instance)
  
    isEqual(transform(instance), instanceWithFeature)
  }
  </code></pre>
  
  <p>For some reason I see this in the stdout</p>
  
  <pre><code>  20
    15
  
    20
    7
  
    20
    3
  
    20
    1
  
    20
    0
    starting to compute expected:
  </code></pre>
  
  <p>Basically it looks like the forAll generates a couple of inputs with a certain size and then skips them. For some reaon, it starts to compute things when one of the input has size 0 and then it starts the proper check. My questions are:</p>
  
  <ul>
  <li>why if I use <code>containerofN</code> or <code>listOfN</code> I don't get exactly input of that specific size? How can I then generate input like this?</li>
  <li>is it normal that forAll starts to explore the space of the possible input and skips some of them? Am I missing something here? This behaviour is quite counter intuitive for me </li>
  </ul>