| Parameters | request | A request object which will be passed to IRenderable.render. | 
 | root | An object to be made flatter.  This may be of type unicode, bytes, slot, Tag, tuple, list, types.GeneratorType, Deferred, or something providing IRenderable. | 
 | write | A callable which will be invoked with each bytes produced by flattening root. | 
| Returns | An iterator which yields objects of type bytes and Deferred. A Deferred is only yielded when one is encountered in the process of flattening root.  The returned iterator must not be iterated again until the Deferred is called back. |