What I don't understand is comment on the delete function:
// tries deleting 'bonjour' from filter, may delete another element
// this could occur when another byte slice with the same fingerprint
// as another is 'deleted'
If it deletes another element, then the guarantee of no false negatives is no longer kept. Is that right?