and :: (a, b) -> Bool -> Bool -> Bool and (a, b) False False = _ and (a, b) True False = _ and (a, b) False True = _ and (a, b) True True = _