Due to bugs in Want's want('OBJECT') and wantref(), I used Try::Tiny to capture a call to want('OBJECT') in sub difference(). If an error is thrown, I just ignore it. So, to get what's probably the expected result, see the sample code in the docs for difference(). To this end, I've added an explicit section (=head2) in the docs for difference().