:type ~and~
:type ~and~ (False, True)
:type \x. ~and~ (x, True)
:type let f : (Bool * Bool -> Bool) -> Bool = \g. g (True, False) in f ~and~
