def _split_map_maybe(function, sequence, marker=None):
    annotated = ((x, function(x)) for x in sequence)
    original, mapped = tee(annotated)
    return (
        (x for (x, y) in original if y is marker),
        (y for (x, y) in mapped if y is not marker)
    )
Lazily map ``function`` over ``sequence``, yielding two streams:
dataset/ETHPy150Open ClusterHQ/flocker/flocker/testtools/_base.py/_split_map_maybe