liftZ :: (a -> a -> Bool) -> (a -> a -> CmpChain a)
liftZ op x y = Chain $ (? y) . (`op` y) $ x
liftZ :: (a -> a -> Bool) -> (a -> a -> CmpChain a)
liftZ op x y = Chain $ (? y) . (`op` y) $ x
liftZ op x y = Chain $ (? y) . (`op` y) $ x