def outer(self, a, b):
     a = yield self.inner(a)
     b = yield self.inner(b)
     hybrid.returnValue(a + b)
 def inner(self, v):
     v = self.clean(self.base * v)
     hybrid.returnValue(v)
     yield
def doubler(value):
    a = yield reflector(value)
    b = yield reflector(value)
    hybrid.returnValue(a + b)
def standaloneHybrid(a, b=0, c=0):
    result = yield doubler(a)
    result += yield doubler(b)
    result += yield doubler(c)
    hybrid.returnValue(result)
def reflector(value):
    hybrid.returnValue(value)
    yield