title: Can a React prop type be defined recursively?
body: <p>Suppose we're defining a React class that will display a tree.</p>
  
  <pre><code>React.createClass({
      propTypes: {
          tree: treeType
      },
      render: function () {
          // ...
      }
  });
  </code></pre>
  
  <p>Here's a definition of <code>treeType</code> that obviously doesn't work but hopefully illustrates what I'm trying to express.</p>
  
  <pre><code>var treeType = React.PropTypes.shape({
      value: React.PropTypes.string,
      children: React.PropTypes.arrayOf(treeType)
  })
  </code></pre>
  
  <p>Is there a way to let the type refer to itself lazily so this can work?</p>