pipe: cabalize and use lifted-base