make drop-while and take-while lazy