def patch(source, sink):
    """Create a direct link between a source and a sink.

    Implementation::

        sink = sink()
        for value in source():
            sink.send(value)

    .. |patch| replace:: :py:func:`patch`
    """
    sink = sink()
    for v in source():
        try:
            sink.send(v)
        except StopIteration:
            return
