valB (a :&&: b)  s st | evalB a s st = evalB b s st
                       | otherwise = (False,st)

evalB (a :&&: b)  s st | evalB a s st = evalB b s st
                       | otherwise = (False,st)
evalB (a :&&: b)  s st | evalB a s st = evalB b s st
                       | otherwise = (False,st)