title: Use ScalaCheck generator inside another generator
body: <p>I have a generator that creates a very compelx object. I <strong>cannot</strong> create this object through something like</p>
  
  <pre><code>val myGen = for{
   a &lt;- Gen.choose(-10,10)
   ...
  } yield new MyClass(a,b,c,...)
  </code></pre>
  
  <p>I tried an approach of creating a custom generator like this</p>
  
  <pre><code>val myComplexGen :Gen[ComplexObject] = {
  
    ...
    val myTempVariable = Gen.choose(-10,10)
    val otherTempVal = Gen.choose(100,2000)
  
    new MyComplexObject(myTempVariable,otherTempVal,...)
  }
  </code></pre>
  
  <p>and then </p>
  
  <pre><code>test("myTest") {
    forAll(myComplexGen){ complexObj =&gt; 
          ... // Here, complexObj.myTempVariable is always the same through all the iterations
   }
  }
  </code></pre>
  
  <p>While this works, the values generated are always the same. The inner <code>Gen.choose</code> yield always the same value. </p>
  
  <p>Is there any way I can write a custom <code>Gen</code> with its own logic, and use inner <code>Gen.choose</code> inside, that would be random ? </p>