I need to convert the data somewhere. The coroutine thing in the result is a convenience only. I actually thought of passing a callable to the result which could do pretty much anything, but then in more complicated cases there would need to be a class behind the callable (some initialization before while). In general the sketch would look like this:

```python

# the init of result
def __init__(self, foo=lambda x:x):
    self.foo = foo

@coroutine
def __call__(self, *args, **kwargs):
    while True:
        item = yield
        self.result = self.foo(yield, *args, **kwargs)
```

Something like that.