(&&) :: Boolean -> ( Boolean) -> Boolean a && b = if a then b else False main = False && fail "Should not be evaluated!" -- false