prependCycle sub lazyBS shall prepend infinitely many copies of sub to lazyBS without entering an infinite loop in case of an empty sub, so e.g.
prependCycle "" "ab" == "ab"
shall (quickly) evaluate to True. For non-empty sub, the cycle shall be constructed efficiently.