| 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. |