I decided to add a method `try` instead of SafeNil. It works in the latest leap_cli. here is how you would use it:

    try{openvpn.gateway_address} || try{nodes_like_me[:services => 'openvpn']['location.name' => location.name].field('openvpn.gateway_address').shuffle.first} || try{nodes_like_me[:services => 'openvpn'].field('openvpn.gateway_address').shuffle.first}

`try` takes a block (using {} here) that will get executed and the result returned, but if there are any errors then it will return nil.