Replace slift with a more generic lift that takes two functors explicitly - getNext and next.