It doesn't yield any value. Either you pass only a block to confine like for example:

```ruby
confine { File.exist?('/usr/bin/lldpctl') }
```

Or you pass a fact and one or more values that it should match like

```ruby
confine :manufacturer => /Dell.*/
```

The value it is matched against can however also be a Proc object in which case the fact value is yielded to it, like:

```ruby
confine :ipaddress => lambda { |addr| IPAddr.new('192.168.0.0/16').include? addr }
```

But the new thing in this pull request compared to Pull #408 is the first variant.