We should detect errors here and return a `nil` predicate, instead of silently swallowing the failure.