<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def consume_item_lazy(rlp, start):
 """Read an item from an RLP string lazily. If the length prefix announces a string, the string is read; if it announces a list, a :class:`LazyList` is created. :param rlp: the rlp string to read from :param start: the position at which to start reading :returns: a tuple ``(item, end)`` where ``item`` is the read string or a :class:`LazyList` and ``end`` is the position of the first unprocessed byte. """

    p, t, l, s = consume_length_prefix(rlp, start)
    if t is bytes:
        item, _, end = consume_payload(rlp, p, s, bytes, l)
        return item, end
    else:
        assert t is list
        return LazyList(rlp, s, s + l), s + l