In PUP-8492 the empty function was moved from stdlib to puppet and it introduced a deprecation of calling empty(undef). As discussed in PUP-8492, that deprecation is not wanted and it should be removed.
This was merged to 5.5.x in https://github.com/puppetlabs/puppet/commit/f45dfb991741130ed437465791835187fe64d2ed