title: Puzzle: Recursive generator without loops/imports
body: <p>It is generators today. I saw a <a href="https://stackoverflow.com/questions/12472338/flattening-a-list-recursively">question</a> today that wanted to find a way to flatten a list recursively without using loops and imports. <a href="https://stackoverflow.com/users/1639625/tobias-k">tobias_k</a> answered it with a following code:</p>
  
  <pre><code>def flatten(test_list):
      if isinstance(test_list, list):
          if len(test_list) == 0:
              return []
          first, rest = test_list[0], test_list[1:]
          return flatten(first) + flatten(rest)
      else:
          return [test_list]
  </code></pre>
  
  <p>Is there a way of creating a generator (with keeping the rules: no imports,loops)?</p>
  
  <p>NOTE: it is purely educational. i know it is not the best idea, but coulnd't figure out how to do it.</p>