title: Python Hypothesis testing: Is there a way to avoid drawing a LazyStrategy?
body: <p>If Python <a href="https://hypothesis.readthedocs.io/en/latest/" rel="nofollow noreferrer">hypothesis</a> strategies are too deeply nested, using <code>draw</code> will not create an actual example, but a <code>LazyStrategy</code>. This can be quite problematic at times because the resulting object behaves very differently from an actual example.</p>
  <p>Is there a way to enforce eager evaluations of strategies, such that calling <code>draw</code> always returns an actual example of the corresponding strategy?</p>
  <p>For example:</p>
  <pre><code>from hypothesis import strategies as st
  
  @st.composite
  def my_composite_strategy(draw):
      some_example = draw(some_very_complex_deeply_nested_strategy)
      print(type(some_example))
      ...
  </code></pre>
  <p>Will print <code>&lt;class 'hypothesis.strategies._internal.lazy.LazyStrategy'&gt;</code> if executed. What I want instead is <code>&lt;class 'my_module.MyObjectIWriteAStrategyFor'&gt;</code>, so I can use <code>some_example</code> really as if it was a real object.</p>